Svn pentru a implementa o aplicație Web

Sistemul de control al versiunii Subversion este atât de vast. care este adecvată nu numai pentru dezvoltare, ci și pentru desfășurarea întregului serviciu / aplicație / site de pe serverul de producție.

Svn pentru a implementa o aplicație Web

Există mai multe metode, așa că vom încerca să dezasamblat fiecare dintre ele.

Utilizarea cârligelor SVN

Cârligele (cârligele) sunt, de fapt, scripturi care sunt declanșate de anumite evenimente, de exemplu modificări de revizie. Ele rulează în modul automat, astfel încât acestea nu pot fi mai potrivite pentru implementarea automată a aplicațiilor.

Șabloane de hârtie

Repozitorul SVN este implicit la directorul de cârlige. în care sunt plasate șabloane de diverse cârlige:

# Conținut implicit de cârlige

Numele lor descriu pe scurt când sunt lansate aceste scripturi. În acest caz, ne interesează post-comiterea. care este lansat imediat după comiterea noii revizuiri, când există deja un număr de revizuire.

Schema de lucru

Cel mai probabil nu doriți să renunțați la versiunea de dezvoltare imediat în producție. Este logic mai întâi să o executați și să o testați pe serverul de test pentru a efectua toate depanarea necesară și pentru a scăpa de bug-uri în timp, dacă acestea sunt disponibile. Apoi, implementați aplicația pe un server public.

Deci, procesul va fi ceva de genul:
  1. dezvoltare pe partea clientului;
  2. să efectueze modificări în depozit;
  3. modificări automate la serverul de testare;
  4. depanare, testarea operabilității;
  5. implementarea actualizării (la comandă, în modul automat) de pe serverul de producție.

Exemple reale

Mai întâi, trebuie să creați scripturi pentru SVN, care pot fi scrise în orice limbaj prietenos cu serverul (Bash, Python, etc.).

De fapt, sunt necesare doar două scripturi: una pentru trimiterea la serverul de testare și testarea comenzii de implementare; iar al doilea pentru încărcarea directă pe serverul de producție.

Scriptul post-commit va arata astfel:

În acest exemplu, toate versiunile care au trecut comitetul sunt încărcate pe serverul de testare, dar dacă mesajul de comitere conține o comandă pentru implementare, fișierele sunt de asemenea încărcate pe serverul public. În acest caz, este lansat al doilea script:

# Utilizați comanda de export svn, care face o copie curată a depozitului fără fișiere .svn

Implementarea semiautomată a aplicațiilor

Deployment folosind Subversion poate fi la fel de simplu ca executarea svn up. Pentru aceasta, aveți nevoie de un client svn instalat pe serverul de producție, un depozit curat și câteva măsuri de securitate suplimentare.

Ascunderea configurilor

Cel mai probabil, configurația de pe serverele de producție și de testare este diferită, deci trebuie să vă asigurați fișierele necesare și să le excludeți de la actualizarea în svn. Pentru început, este mai bine să creați un director de tip / implicit. copiați toate fișierele necesare, apoi adăugați-l la svn și comiteți-l.

Acum puteți șterge config-urile de site-uri de la svn:

Copiile locale ale fișierelor vor fi salvate

# Toate fișierele incluse în .svn_ignore vor fi ignorate

siguranță

Directoarele .svn sunt accesibile în mod prestabilit la Internetul larg, dacă sunt pe server. Deci, soluția cea mai bună și, în același timp, simplă va fi interzicerea accesului la aceste foldere de pe partea serverului web. Pentru a face acest lucru, adăugați următoarele în fișierul de configurare Nginx în secțiunea http:

• Dați acces la toate fișierele cu extensia necesară

Și în Apache acest lucru se face astfel:

# Configurați blocul de site sau configurația principală a serverului web

deploymenta

Acum este suficient să vă conectați la serverul de producție prin SSH, mergeți la directorul document_root și executați:

# Toate fișierele și modificările vor fi copiate pe server

Este demn de remarcat că o astfel de metodă va reveni rapid la revizia necesară și, în general, va efectua toate manipulările necesare cu svn direct pe serverul de producție.

Cel mai important lucru

După o mică modificare și scrierea a două scenarii, puteți implementa aplicația web sau site-ul pe serverul de producție în modul automat. Principalul lucru nu este să uitați să testați lucrările de dezvoltare înainte de lansare.

Svn pentru a implementa o aplicație Web

materiale pe această temă