Acest lucru nu ar face față problemelor și erorilor de îmbinare și de actualizare pe serverele web utilizează sisteme de control al versiunilor care vor facilita dezvoltarea distribuită a site-ului
Cum funcționează
(Versiunea Control System, VCS), sistemele de control al versiunii sunt folosite pentru a monitoriza schimbările și capacitatea de a crea versiuni multiple ale proiectului în curs de dezvoltare. În timpul dezvoltării distribuite, ele ajută la sistematizarea lucrului cu mai multe versiuni ale acelorași documente.
Toate modificările din proiect sunt situate într-un depozit structurat (depozit), folosind kotorgo interacționează dezvoltatori. Depozitul conține fișierele de servicii ale proiectului - acestea sunt modificări indexate și criptate. În plus, acesta conține o versiune de lucru a proiectelor. Datorită acestui lucru, toți dezvoltatorii pot primi versiuni diferite de documente din depozit, își pot crea propria ramură de modificări, pot efectua modificări (a crea un audit) și pot redirecționa o copie de lucru la orice versiune anterioară. Această metodă vă permite să sincronizați actualizările.
Cum se utilizează pentru a menține site-ul?
Schema standard pentru susținerea unui proiect web este după cum urmează: dezvoltatorii fac modificări la serverul web al site-ului, care, la rândul său, este vizualizat de utilizatori. Dacă mai mulți dezvoltatori modifică același document, prima schimbare va fi ștersă de cea de-a doua, iar utilizatorul va primi informații incorecte. Va fi necesar să găsiți versiuni anterioare pentru a redirecționa proiectul și pentru a afla motivul neconcordanței rezultate.
Conflictele similare de schimbare duc la necesitatea de a crea reguli complexe de schimbare și de a interfera cu munca distribuită a programatorilor.
Soluția la această problemă este sistemul de control al versiunilor, iar pentru a sprijini site-urile web, cea mai eficientă este schema, în care există două depozite pe serverul web.
Primul depozit este utilizat pentru a colecta modificările provenite de la toți dezvoltatorii. Care conține o ramură cu versiunea principală a site-ului, a masterului și, de exemplu, ramura dezvoltării dev și ramura de schimbare a remedierilor rapide. Programatorii lucrează cu depozitul prin consola VCS și clienții. Astfel, dezvoltatorii și proiectul comunică. În primul depozit nu există fișiere de site de lucru, numai fișierele de servicii care conțin modificări.
Al doilea depozit conține numai sucursala principală cu directorul de lucru, unde site-ul este lansat. Depozitarul aplică automat modificările de la ramura principală a primului depozit atunci când creează o versiune și o schimbare și transmite toate modificările sale. Această soluție pentru asigurare, care ar fi actualizată în mod unilateral în catalog, și accesul la programatori să-l închidă.
Există o sincronizare și instalare de modificări, site-ul conține cea mai recentă versiune. În cazul unor probleme, proiectul poate fi derulat înapoi prin VCS la versiunea anterioară.
Ce sistem să alegeți
În prezent, există multe sisteme de control al versiunilor. Deși schema de configurare de pe site este descrisă în general pentru a-și arăta universalitatea, merită menționată principalele soiuri ale VCS.
Sistemele centralizate de management (de exemplu, Subversion.VSV) își asumă un depozit unic pentru toți dezvoltatorii, care stochează toate ramurile proiectului.
În sistemele distribuite (Git, Mercurial, Bazaar), istoricul schimbărilor este stocat în magazinele locale de dezvoltatori, iar fragmentele necesare sunt sincronizate între ele prin intermediul repozitorului central.
Pentru a lucra cu proiectele web, vă recomand să folosiți sisteme distribuite, deoarece acestea sunt mult mai convenabile pentru a manipula ramurile de dezvoltare. Fiecare programator își poate crea propria ramură în magazinul local, fără încărcarea depozitului central. În plus, datorită modelului distribuit în astfel de sisteme, viteza de operare și nivelul de securitate sunt mai mari.
Al doilea depozit conține numai ramura principală cu directorul de lucru din care este lansat site-ul. Se încarcă automat modificările de la ramura principală a primului depozit atunci când creați revizia și vă transmite toate modificările. Acest lucru se face pentru securitate, deoarece catalogul este actualizat unilateral, iar accesul la dezvoltatori ar trebui să fie închis. Cu toate acestea, un aruncat descărcat uneori împușcă.
Astfel, actualizările sunt sincronizate și instalate, iar site-ul conține întotdeauna cea mai recentă versiune. Dacă este necesar, proiectul poate fi reintrodus în stadiul anterior folosind VCS.
Ce sistem să alegeți
În prezent, există multe sisteme de control al versiunilor. Deși schema de configurare de pe site-ul Web este descrisă în general pentru a arăta universalitatea sa, merită menționată principalele soiuri ale VCS.
Sistemele centralizate de management (de exemplu, Subversion, CVS) își asumă un depozit unic pentru toți dezvoltatorii, pe care sunt stocate toate ramurile proiectului.
În sistemele distribuite (Git, Mercurial, Bazaar), istoricul schimbărilor este stocat în magazinele locale de dezvoltatori, iar fragmentele necesare sunt sincronizate între ele prin intermediul repozitorului central.
Pentru a lucra cu proiectele web, vă recomand să folosiți sisteme distribuite, deoarece acestea sunt mult mai convenabile pentru a manipula ramurile de dezvoltare. Fiecare programator își poate crea propria ramură în magazinul local, fără încărcarea depozitului central. În plus, datorită modelului distribuit în astfel de sisteme, viteza de operare și nivelul de securitate sunt mai mari.
Acum este necesar să se diferențieze accesul pentru dezvoltatori prin intermediul serverului și al VCS.
Sistemele de control al versiunilor oferă mai multă libertate dezvoltatorilor, reducându-se dependența unele de altele.
Setarea a fost finalizată. Pentru a testa, trebuie să creați un audit în ramura principală a primului depozit, iar actualizările vor apărea pe site.
Avantaje și nuanțe
Să cântăm cu dvs. meritele schemei de lucru descrise de noi:
> Evitați conflictul de îmbinare. Datorită sincronizării spațiului de stocare, nu sunt necesare reguli speciale pentru a efectua actualizări.
> Dezvoltare distribuită. Sistemul de control al versiunii permite utilizarea de ramificare, și anume crearea diferitelor variante ale documentului cu istoria generală a modificărilor la un punct de ramură și cu diferite după aceea. Când ramura ajunge la stabilitate, are loc o fuziune. execuția în paralel a mai multor sarcini este deosebit de relevant pentru dezvoltarea web modern, deoarece este de obicei în crearea și susținerea proiectului de planificare precisă imposibilă.
> Salvați istoricul schimbărilor. Deoarece informațiile de bază despre actualizări sunt fixe și, dacă este necesar, există posibilitatea ca o echipă să restaureze oricare dintre versiunile anterioare ale documentului.
> Ușor de gestionat codul sursă. Instrumentele de sistem vă permit să comparați versiunile fișierelor cu linia, controlând modificările acestora.
> Integrare ușoară. Acest sistem poate fi aplicat unui site care rulează fără închidere pentru întreținerea și mutarea fișierelor.
> Software-ul gratuit. Majoritatea sistemelor de control al versiunii sunt distribuite în mod liber
Și ce este de cealaltă parte a scalei?
În primul rând, este necesar să se gândească și să se adapteze regulile de actualizare și de delimitare care încorporează schema descrisă. În funcție de dimensiunea proiectului și cerințele de securitate, este posibil să fie necesar să adăugați depozite pentru dezvoltare.
În al doilea rând, trebuie să aveți grijă să alocați spațiu pe server pentru depozite. Deoarece stochează toate fișierele care pot fi mutați, în cazul în care pe site există o cantitate mare de grafice, depășirea poate fi o problemă neașteptată, în ciuda faptului că datele din depozit sunt conținute într-o formă comprimată. În acest caz, trebuie să configurați corect eliminarea vechilor ramuri și modificări.
De asemenea, dacă site-ul dvs. utilizează baze de date, este posibil să aveți o problemă cu monitorizarea actualizărilor. Deoarece codul sursă pentru astfel de fișiere nu este evident, uneori este util să utilizați funcțiile pentru a stoca scriptul de interogare pentru DBMS. În cele din urmă, nu uitați de produsele specializate utilizate pentru implementarea și actualizarea aplicațiilor, de exemplu, Capistrano. În unele cazuri, este mai bine să le folosiți.
• • •
Sistemele de control al versiunilor oferă mai multă libertate dezvoltatorilor, reducându-se dependența unul de celălalt, iar timpul petrecut pentru a înțelege funcționarea acestora va contribui la dezvoltarea ulterioară.
Puteți vorbi despre astfel de sisteme pe o perioadă nelimitată, dar cea mai bună modalitate de a evalua gradul de utilizare este să vă traduceți site-ul către VCS, așa cum au făcut deja multe companii bine cunoscute.
Dacă aveți nevoie să instalați și să configurați sisteme de control al versiunilor, vă rugăm să contactați [email protected]