Pagina principala » HOWTO » Cum se creează automat crearea de copii de rezervă în Visual Studio

    Cum se creează automat crearea de copii de rezervă în Visual Studio

    Dacă sunteți o echipă de dezvoltare a unui om, probabil că nu aveți nevoie de un sistem complet de control al versiunilor, dar crearea de copii de rezervă pentru fiecare versiune lansată este, fără îndoială, importantă.

    Prin folosirea puterii evenimentelor post-build și a unui script batch simplu, puteți adăuga cu ușurință capacitatea de a avea Visual Studio să creeze automat o copie de siguranță a codului sursă pentru fiecare construire a codului de lansare.

    Cum functioneaza

    Soluția noastră este simplă: de fiecare dată când are loc un eveniment de construcție reușit, avem un script de rulare pe șantier care creează o arhivă comprimată (opțional marcată și marcată cu timp) a tuturor fișierelor din folderul proiectului Visual Studio respectiv.

    Asta e. Tot ce trebuie să faceți este să urmați pașii de mai jos.

    Configurarea copiilor de rezervă automată

    În primul rând, va trebui să descărcați și să extrageți fișierul script batch din link-ul din partea de jos a articolului. În plus, veți avea nevoie de instrumentul pentru linia de comandă 7-Zip (acesta este inclus împreună cu versiunea "completă" a scriptului Project Build Backup sau îl puteți descărca separat). În exemplul nostru, am extras aceste fișiere în directorul "C: \ Tools", dar orice locație va funcționa.

    Deschideți proprietățile proiectului Visual Studio, făcând dublu clic pe Proiectul meu în cadrul proiectului respectiv.

    În proprietățile proiectului, accesați secțiunea Compilare.

    În colțul din dreapta jos, faceți clic pe butonul Generați evenimente.

    În cazul nostru, dorim să facem o copie de rezervă după o acțiune de compilare reușită. Asigurați-vă că aveți opțiunea de a rula evenimentul post-build "La construirea cu succes" și apoi faceți clic pe butonul Editați post-build.

    Comanda de mai jos creează o copie de rezervă numai pentru compilarea configurației Release (aceasta este ceea ce verifică condiția IF) deoarece, în mod realist, probabil că nu dorim să facem o copie de rezervă pentru fiecare construcție de depanare / testare. În plus, timbrul curent va fi adăugat (comutatorul D / D), fișierul de backup fiind în format de fișier 7z (/ 7z), spre deosebire de zip. Prin adăugarea parametrului / T "$ (ConfigurationName)", adăugăm tipul de construire (eliberați în acest caz) numele fișierului de copiere.

    Dacă "$ (ConfigurationName)" == "Eliberați" CALL C: \ Tools \ ProjectBuildBackup.bat "$ (SolutionDir)" "/ D / 7z

    Utilizând butonul Macro, aveți posibilitatea să includeți informații despre proiect prealabil pentru Visual Studio, astfel încât să nu fie nevoie de hardcoding. Puteți ajusta această comandă după cum este necesar (în special locația fișierului lot), dar este posibil ca primii trei parametri să nu trebuiască să fie modificați.

    Este important să rețineți că operațiile post-eveniment funcționează indiferent de configurația proiectului selectată. Acesta este motivul pentru care trebuie să adăugăm instrucțiunea IF "$ (ConfigurationName)" == "Release" - în caz contrar, acțiunea de backup ar apărea pe fiecare eveniment de construcție reușită.

    După ce terminați comanda și aplicați-o, șirul de comandă trebuie să apară în secțiunea Post-build events.

    Rețineți că, în timp ce comanda "CALL" nu este necesară din punct de vedere tehnic, este foarte recomandat, ca și cum acest lucru este omis, atunci eventualele evenimente adăugate după aceasta pot să nu fie executate.

    Acum, ori de câte ori executați o compilare / construire cu proiectul dvs. în configurația de lansare, veți vedea ieșirea din operația de copiere de rezervă.

    [...]

    Fiecare construcție de lansări de succes creează o nouă arhivă cu timbru cu folderul soluție într-un subdirector "Builds" (care poate fi definit personalizat cu comutatorul / O dacă este necesar).

    Conținutul fiecărei copii de rezervă este proiectul complet Visual Studio - fișiere sursă, setări de configurare, binare compilate și toate - ceea ce face ca acesta să fie un adevărat moment în timp.

    Nu este un înlocuitor pentru un sistem de control al versiunii complete

    În concluzie, dorim doar să reamintim că acest instrument nu are rolul de a înlocui un sistem complet de control al versiunilor. Este pur și simplu un instrument util pentru dezvoltatori de a crea instantanee ale codului sursă al proiectului după fiecare compilare.

    În cazul în care va trebui vreodată să vă întoarceți și să examinați o versiune anterioară, având un fișier de proiect gata de utilizat (doar extrageți într-un nou director) pentru o compilație de timp în timp poate fi într-adevăr util.

    Link-uri

    Descărcați Project Backup Script

    Descărcați unelte de comandă pentru 7-Zip (Notă - utilitatea 7za este de asemenea inclusă împreună cu o descărcare din scriptul Project Backup)