A post-build események és az egyszerű kötegelt parancsfájlok kihasználásával könnyedén hozzáadhatja azt a képességet, hogy a Visual Studio automatikusan létrehozza a forráskód-mentést minden kiadási kód-készítéshez.
Hogyan működik
Mi megoldásunk egyszerű: minden esetben, amikor sikeres build-esemény történik, egy soros szkriptfuttatást készítünk, amely a megfelelő Visual Studio projektmappában lévő összes fájlt tömörített archívumot (esetleg címkézve és időzítetten) hozza létre.
Ez az. Mindössze annyit kell tennie, hogy kövesse az alábbi lépéseket.
Automatikus biztonsági mentések készítése
Először le kell töltenie és kibontnia kell a kötegelt szkript fájlt a cikk alján található linkről. Ezenkívül szükséged lesz a 7-Zip parancssori eszközre (ez a Project Build Backup szkript "teljes" verziójával együtt, vagy külön letölthető). Példánkban ezeket a fájlokat a "C: Tools" könyvtárba bocsátottuk ki, de bármely helyszín működni fog.
Nyissa meg a Visual Studio Project tulajdonságait, kattintson duplán a My Project-re az adott projekt alatt.
Az alábbi parancs létrehoz egy build biztonsági másolatot csak a Release konfiguráció összeállításához (ez az IF-állapot ellenőrzése), hiszen valósághűen valószínűleg nem akarunk biztonsági másolatot készíteni minden Debug / tesztelésből. Ezenkívül az aktuális időbélyegzőt (/ D kapcsoló) a 7z fájlformátumban (/ 7z) lévő biztonsági másolatként csatolják a ziphez képest. A / T $ (ConfigurationName) paraméter hozzáadásával hozzáadjuk a build típusát (Release ebben az esetben) a biztonsági mentés fájl nevéhez.
IF “$(ConfigurationName)” == “Release” CALL C:ToolsProjectBuildBackup.bat “$(SolutionDir)” “$(ProjectDir)” “$(ProjectName)” /T “$(ConfigurationName)” /D /7z
A Makrók gomb használatával a Visual Studio előre kitöltheti a projekt specifikus információkat, így nincs szükség keménykódolásra. Ezt a parancsot szükség szerint módosíthatja (különösen a kötegelt fájl helyét), de az első három paramétert valószínűleg nem kell megváltoztatni.
Fontos megjegyezni, hogy az esemény utáni műveletek függetlenül a kiválasztott projektkonfigurációtól. Ezért kell hozzáadni az IF "$ (ConfigurationName)" == "Release" utasítást - ellenkező esetben a biztonsági mentési művelet bekövetkezne minden sikeres építési esemény.
Ne feledje, hogy amíg a "CALL" parancs technikailag nem szükséges, nagyon ajánlott, mintha ezt kihagynák, akkor az ezt követően hozzáadott események nem hajthatók végre.
Nem egy teljes verziókezelő rendszer helyettesítése
Záráskor csak azt szeretnénk megismételni, hogy ez az eszköz nem szándékozik helyettesíteni egy teljes verziójú verziókezelő rendszert. Ez egyszerűen egy hasznos eszköz a fejlesztőknek, hogy készítsenek pillanatképeket a projekt forráskódjáról minden összeállítás után.
Abban az esetben, ha valaha is vissza kell mennie, és meg kell vizsgálnia egy korábbi verziót, és egy készenléti felhasználású (csak kivonat egy új könyvtárhoz) projektfájlhoz egy időre történő összeállításhoz valóban hasznos lehet.
linkek
A Project Build Backup Script letöltése
A 7-Zip Command Line Tool letöltése (Megjegyzés: a 7za segédprogram a Project Build Backup parancsfájllal együtt letölthető)