25Aug
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 Visual Studio să creeze automat un backup de cod sursă pentru fiecare construire a codului de lansare.
Cum funcționează
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 timestamped) a tuturor fișierelor din folderul proiectului Visual Studio respectiv.
Asta este. Tot ce trebuie să faceți este să urmați pașii de mai jos.
Configurarea backup-urilor pentru crearea automată
Mai întâi va trebui să descărcați și să extrageți fișierul script batch din legătura 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 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, 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)" "/ $"( ProjectDir)/ 7z
Cu ajutorul butonului Macro, aveți posibilitatea să includeți informații specifice proiectului 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 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 apărea pe la fiecare eveniment de construcție reușită.
Odată ce terminați comanda și aplicați-o, șirul de comandă ar trebui 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 Release, veți vedea ieșirea din operația de construire a copiei de rezervă.
[...]
Fiecare ediție de lansare de succes creează o nouă arhivă de timp 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.
Nu este un înlocuitor pentru un sistem de control al versiunii complete
În încheiere, dorim doar să reamintim că acest instrument nu are rolul de a înlocui un sistem de control al versiunilor complet suflat. 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 trebuie vreodată să vă întoarceți și să examinați o versiune anterioară, aveți un fișier de proiect gata de utilizat( doar extrageți într-un nou director) pentru o compilație punctuală în timp util.
Link-uri
Descărcați Project Build Script Backup
Descărcați unelte de comandă pentru 7-Zip( Notă - utilitatea 7za este de asemenea inclusă împreună cu o descărcare de pe scriptul Project Backup)