If-Koubou

Cum să creați automat crearea de copii de rezervă în Visual Studio

Cum să creați automat crearea de copii de rezervă în Visual Studio (Cum să)

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

Folosind puterea evenimentelor post-build și un script batch simplu, puteți adăuga cu ușurință capacitatea de a crea în Visual Studio 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 siguranță după o acțiune de compilare de succes. Asigurați-vă că aveți opțiunea de a executa 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 de lansare (aceasta este ceea ce verifică condiția IF) deoarece, în mod realist, probabil că nu dorim să realizăm o copie de rezervă a fiecărei versiuni de depanare / testare. În plus, marcajul temporal curent va fi atașat (comutatorul / 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 rezervă.

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

Cu ajutorul butonului Macro, aveți posibilitatea ca Visual Studio să pre-umple informații specifice proiectului, astfel încât nu este necesară nici o hardcodare. 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 rulează indiferent de configurația proiectului selectată. Acesta este motivul pentru care trebuie să adăugăm instrucțiunea IF "$ (ConfigurationName)" == "Release" - altfel acțiunea de backup va avea loc la fiecare eveniment de construire de succes.

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 lansare 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șierele sursă, setările de configurare, binarele compilate și toate - ceea ce face ca acesta să fie un adevărat moment în timp de rezervă.

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

În încheiere, dorim doar să reamintim că acest instrument nu are intenția de a înlocui un sistem de control al versiunilor cu sufletul complet. 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 cu adevărat 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)