25Aug
Ak ste vývojový tím pre jedného človeka, pravdepodobne naozaj nemáte potrebu plne vyfúknutého systému na riadenie verzií, ale vytváranie zálohovania zdrojového kódu pre každú vydanú verziu je nepochybne dôležité.
Využitím schopnosti post-build udalostí a jednoduchého dávkového skriptu môžete ľahko pridať možnosť mať Visual Studio automaticky vytvoriť zálohu zdrojového kódu pre každé vydanie kódu.
Ako to funguje
Naše riešenie je jednoduché: vždy, keď dôjde k úspešnej udalosti budovania, máme dávkový skript spustený, ktorý vytvára komprimovaný archív( voliteľne označený a časovo označený) všetkých súborov v príslušnom priečinku projektu Visual Studio.
To je ono. Jediné, čo musíte urobiť, je postupovať podľa nižšie uvedených krokov.
Nastavenie automatického vytvárania záloh
Najprv budete musieť stiahnuť a extrahovať dávkový súbor skriptu z odkazu v spodnej časti článku. Okrem toho budete potrebovať nástroj príkazového riadku 7-Zip( tento je súčasťou plnej verzie skriptu Project Build Backup alebo ho môžete prevziať samostatne).V našom príklade sme tieto súbory extrahovali do adresára "C: \ Tools", ale akékoľvek miesto bude fungovať.
Otvorte svoje vlastnosti programu Visual Studio dvojitým kliknutím na Môj projekt v rámci príslušného projektu.
V vlastnostiach projektu prejdite do sekcie Kompilácia.
V pravom dolnom rohu kliknite na tlačidlo Vytvoriť udalosti.
V našom prípade chceme vytvoriť zálohu po úspešnej akcii kompilácie. Uistite sa, že máte možnosť spustiť udalosť po vytvorení "Pri úspešnej zostavovaní" a potom kliknite na tlačidlo Upraviť Post-build.
Nižšie uvedený príkaz vytvára zálohovanie stavať iba pre kompiláciu konfigurácie Release( to je to, čo podmienka IF skontroluje), pretože realisticky pravdepodobne nechceme zálohovať každú zostavu Debug / testovanie. Okrem toho bude pripojené súčasné časové pečiatko( prepínač / D), pričom záložný súbor bude vo formáte 7z( / 7z) na rozdiel od zip. Pridaním / T "$( ConfigurationName)" ako parametra pridávame typ zostavy( v tomto prípade Release) do názvu záložného súboru.
IF "$( ConfigurationName)" == "Uvoľniť" CALL C: \ Tools \ ProjectBuildBackup.bat "$( SolutionDir)" "$ D( ProjectDir)/ 7z
Pomocou tlačidla Makrá môžete mať Visual Studio predplnenie konkrétnych informácií o projekte, takže nie je potrebné žiadne hardcoding. Tento príkaz môžete upraviť podľa potreby( najmä umiestnenie dávkového súboru), ale prvé tri parametre sa pravdepodobne nemusia meniť.
Je dôležité mať na pamäti, že operácie po udalosti beží bez ohľadu na zvolenú konfiguráciu projektu. To je dôvod, prečo musíme pridať príkaz IF "$( ConfigurationName)" == "Release" - inak by akcia zálohovania nastala na každej úspešnej zostavenej udalosti .
Po dokončení príkazu a jeho uplatnení by sa reťazec príkazu mal objaviť v sekcii Post-build events.
Všimnite si, že zatiaľ čo príkaz "CALL" nie je technicky požadovaný, je veľmi odporúčané, ako keby to bolo vynechané, potom akékoľvek pridané udalosti sa nemusia spúšťať.
Teraz, keď spustíte kompiláciu / zostavenie s vaším projektom v konfigurácii Release, uvidíte výstup z operácie zálohovania.
[...]
Každá úspešná verzia Release vytvorí nový archív s časovým označením s priečinkom riešenia v podadresári "Builds"( ktorý môže byť v prípade potreby definovaný pomocou prepínača / O).
Obsah každej zálohy je plný projekt Visual Studio - zdrojové súbory, konfiguračné nastavenia, kompilované binárne súbory a všetky - čo z nich robí skutočné zálohovanie v čase.
Nie je náhradou za riadiaci systém s plnou verziou
Na záver chcem len zopakovať, že tento nástroj nie je určený na to, aby nahradil úplne vyfukovaný systém riadenia verzií.Je to jednoducho užitočný nástroj pre vývojárov na vytvorenie snímok zdrojového kódu projektu po každej kompilácii.
V prípade, že sa budete niekedy musieť vrátiť späť a preskúmať predchádzajúcu verziu, môže mať súbor ready-to-use( jednoducho extrahovaný do nového adresára) projektový súbor pre bodovú kompiláciu.
Odkazy
Stiahnite si projekt Build Backup Script
Stiahnite si 7-Zip príkazový riadok Nástroj( Poznámka - Nástroj 7za je tiež dodávaný so sťahovaním z skriptu Project Build Backup)