Hemsida » hur » Så här skapar du automatiskt säkerhetskopior i Visual Studio

    Så här skapar du automatiskt säkerhetskopior i Visual Studio

    Om du är ett utvecklingsteam för en man, har du förmodligen inte ett behov av ett fullständigt kontrollerat system, men att skapa källkodsbackupar för varje utgåva är otvivelaktigt viktigt.

    Genom att utnyttja kraften i post-build-händelser och ett enkelt batch-skript, kan du enkelt lägga till möjligheten att få Visual Studio automatiskt att skapa en källkodsbackup för varje släppkodsuppbyggnad.

    Hur det fungerar

    Vår lösning är enkel: När en framgångsrik byggnads händelse inträffar, har vi en batch script run som skapar ett komprimerat arkiv (eventuellt taggad och tidsstämplad) av alla filer i respektive Visual Studio projektmapp.

    Det är allt. Allt du behöver göra är att följa stegen nedan.

    Konfigurera automatisk säkerhetskopiering

    Först måste du ladda ner och extrahera batch script filen från länken längst ner i artikeln. Dessutom behöver du kommandoradsverktyget 7-Zip (det här ingår i en fullständig version av Project Build Backup-skriptet, eller du kan ladda ner det separat). I vårt exempel extraherade vi dessa filer till katalogen "C: \ Tools", men någon plats kommer att fungera.

    Öppna dina Visual Studio Project egenskaper genom att dubbelklicka på My Project under respektive projekt.

    I projektegenskaperna, gå till Kompilera sektionen.

    I nedre högra hörnet klickar du på knappen Bygg händelser.

    I vårt fall vill vi göra en säkerhetskopia efter en lyckad kompilera åtgärd. Se till att du har möjlighet att köra postbyggnadsevenemanget "På framgångsrik byggnad" och klicka sedan på knappen Redigera efterbyggnad.

    Kommandot nedan skapar en säkerhetskopiering endast för kompilering av Release-konfigurationen (detta är vad IF-villkoret kontrollerar) eftersom vi realistiskt inte vill säkerhetskopiera varje Debug / Test-byggnad. Dessutom kommer den aktuella tidstämpeln att läggas till (/ D-omkopplare) med säkerhetskopieringsfilen i 7z filformat (/ 7z) i motsats till zip. Genom att lägga till / T "$ (ConfigurationName)" som en parameter lägger vi till byggtypen (Release i detta fall) till namnet på backupfilen.

    Om "$ (ConfigurationName)" == "Släpp" CALL C: \ Tools \ ProjectBuildBackup.bat "$ (SolutionDir)" "$ (ProjectDir)" "$ (ProjectName)" / T "$ (ConfigurationName)" / D / 7z

    Med Macros-knappen kan du ha specifik specifik information för Visual Studio-förfyllning så det krävs ingen hårdkodning. Du kan justera det här kommandot efter behov (särskilt platsen för batchfilen), men de tre första parametrarna kommer sannolikt inte att behöva ändras.

    Det är viktigt att komma ihåg att operationer efter händelsen körs oberoende av vald projektkonfiguration. Det är därför vi måste lägga till IF-kontot "$ (ConfigurationName)" == "Release" - annars skulle backupåtgärden inträffa på varje framgångsrik byggnadsevenemang.

    När du har avslutat ditt kommando och tillämpat det, bör kommandosträngen visas i avsnittet Post-build events.

    Observera att medan "CALL" -kommandot inte är tekniskt nödvändigt, rekommenderas det, som om det utelämnas, kan eventuella händelser som läggs till efter det här inte utföras.

    Nu när du kör kompilera / bygga med ditt projekt i Utlösningskonfigurationen, ser du utmatningen från säkerhetskopieringsoperationen.

    [...]

    Varje framgångsrik Release build skapar ett nytt tidsstämplat arkiv med lösningsmappen i en underkatalog, "Builds" (som kan anpassas med / O-omkopplaren om det behövs).

    Innehållet i varje backup är det fulla Visual Studio-projektet - källfiler, konfigurationsinställningar, sammanställda binärer och allt - vilket gör detta till en sann punkt i tidskopiering.

    Inte en ersättning för ett fullständigt versionsstyrningssystem

    Avslutningsvis vill vi bara upprepa att det här verktyget inte är avsett att ersätta ett fullständigt styrsystem för kontrollerad version. Det är helt enkelt ett användbart verktyg för utvecklare att skapa ögonblicksbilder av projektets källkod efter varje sammanställning.

    I händelse av att du någonsin måste gå tillbaka och undersöka en tidigare version, ha en färdig att använda (bara extrahera till en ny katalog) projektfilen för en tidpunkts samling kan verkligen komma till nytta.

    länkar

    Hämta Project Build Backup Script

    Hämta 7-Zip Command Line Tool (Obs! 7za-verktyget är också buntat med en nedladdning från Project Build Backup-scriptet)