Skip to main content

Slik lager du automatisk sikkerhetskopieringer i Visual Studio

Slik lager du automatisk sikkerhetskopieringer i Visual Studio

Geoffrey Carr

Hvis du er et utviklingslag for en mann, har du sannsynligvis ikke virkelig behov for et fullstendig kontrollert system, men det er utvilsomt viktig å lage kildekodenes sikkerhetskopier for hver utgitt versjon.

Ved å utnytte kraften til post-build-hendelser og et enkelt batch-skript, kan du enkelt legge til muligheten til å ha Visual Studio automatisk opprette en kildekode-sikkerhetskopi for hver utgavekodebygging.

Hvordan det fungerer

Vår løsning er enkel: Når en vellykket byggehendelse oppstår, har vi et batch-skriptløp som lager et komprimert arkiv (valgfritt merket og tidsstemplet) av alle filene i den respektive Visual Studio-prosjektmappen.

Det er det. Alt du trenger å gjøre er å følge trinnene nedenfor.

Sette opp automatisk bygge sikkerhetskopier

Først må du laste ned og pakke ut batch script filen fra lenken nederst i artikkelen. I tillegg trenger du 7-Zip kommandolinjeverktøyet (dette er inkludert i en fullversjon av Project Build Backup-skriptet, eller du kan laste den ned separat). I vårt eksempel fjernet vi disse filene til katalogen "C: Tools", men noe sted vil fungere.

Åpne Visual Studio Project-egenskapene ved å dobbeltklikke på My Project under det respektive prosjektet.

I prosjektegenskapene, gå til Compile-delen.

I nederste høyre hjørne klikker du på Bygg hendelser-knappen.

I vårt tilfelle vil vi lage en sikkerhetskopi etter en vellykket samlehandling. Pass på at du har muligheten til å kjøre postbygg-arrangementet "På vellykket bygg", og klikk deretter på Rediger Post-build-knappen.

Kommandoen nedenfor oppretter en build backup bare for kompilering av Release-konfigurasjonen (dette er hva IF-tilstanden kontrollerer) som realistisk, vil vi sannsynligvis ikke sikkerhetskopiere hver Debug / testing-bygging. I tillegg vil gjeldende tidsstempel bli vedlagt (/ D-bryter) med backupfilen som er i 7z filformat (/ 7z) i motsetning til zip. Ved å legge til / T "$ (ConfigurationName)" som en parameter, legger vi til byggetypen (Slett i dette tilfellet) til navnet på backupfilen.

IF “$(ConfigurationName)” == “Release” CALL C:ToolsProjectBuildBackup.bat “$(SolutionDir)” “$(ProjectDir)” “$(ProjectName)” /T “$(ConfigurationName)” /D /7z

Ved å bruke Makro-knappen, kan du ha Visual Studio-prefill-prosjektinformasjon, slik at det ikke kreves hardcoding. Du kan justere denne kommandoen etter behov (spesielt plasseringen av batchfilen), men de tre første parametrene vil sannsynligvis ikke bli endret.

Det er viktig å huske på at operasjoner etter hendelsen løper uansett hvilken prosjektkonfigurasjon som er valgt. Dette er grunnen til at vi må legge til IF-setningen "$ (ConfigurationName)" == "Release" - ellers vil sikkerhetskopieringen skje på hver vellykket byggeventyr.

Når du er ferdig med kommandoen din og bruker den, bør kommandostrengen vises i delen Post-build events.

Vær oppmerksom på at mens kommandoen "CALL" ikke er teknisk nødvendig, anbefales det sterkt, som om dette utelates, kan eventuelle hendelser som er lagt til etter dette, ikke utføres.

Nå når du kjører en kompilering / bygge med prosjektet ditt i Utgivelses-konfigurasjonen, vil du se utdataene fra sikkerhetskopieringsoperasjonen.

[…]

Hver vellykket Release build lager et nytt timestamped arkiv med løsningsmappen i en underkatalog, "Builds" (som kan tilpasses med / O-bryteren om nødvendig).

Innholdet i hver backup er det fulle Visual Studio-prosjektet - kildefiler, konfigurasjonsinnstillinger, kompilerte binærfiler og alt - noe som gjør dette til et riktig tidspunkt i sikkerhetskopiering.

Ikke en erstatning for et fullversjonskontrollsystem

Til slutt vil vi bare gjenta at dette verktøyet ikke er ment å erstatte et fullstendig kontrollert system. Det er ganske enkelt et nyttig verktøy for utviklere å lage øyeblikksbilder av prosjektets kildekode etter hver kompilering.

I tilfelle du noensinne må gå tilbake og undersøke en tidligere versjon, har du en klar bruk (bare ekstrakt til en ny katalog) prosjektfilen for en tidssammenstilling kan virkelig komme til nytte.

lenker

Last ned Project Build Backup Script

Last ned 7-Zip Command Line Tool (Merk - 7za verktøyet er også buntet med en nedlasting fra Project Build Backup script)

Link
Plus
Send
Send
Pin