25Aug
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 kildekods backup for hver utgivelseskode.
Slik fungerer det
Vår løsning er enkel: Når en vellykket byggeventyr oppstår, har vi et batch script-kjør som lager et komprimert arkiv( valgfritt merket og tidsstempelert) 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.
Klikk nederst til høyre på knappen Bygg hendelser.
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-sikkerhetskopiering bare for kompilering av Release-konfigurasjonen( dette er hva IF-tilstanden sjekker for) 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)" == "Slett" CALL C: \ Tools \ ProjectBuildBackup.bat "$( SolutionDir)" "$( ProjectDir)" "$( ProjectName)" / T "$( ConfigurationName)" / D/ 7z
Ved å bruke Makro-knappen, kan du ha Visual Studio-prefill-prosjektinformasjon, slik at det ikke kreves hardkoding. 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 "$( ConfigurationName)" == "Release" -oppsettet - ellers vil backup-handlingen oppstå på hver -vellykket byggehendelse.
Når du er ferdig med kommandoen 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 legges til etter dette, ikke utføres.
Nå når du kjører en kompilering / bygge med prosjektet ditt i Utgivelses-konfigurasjonen, vil du se utgangen 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.
Hvis du har behov for å gå tilbake og undersøke en tidligere versjon, kan du ha en bruksklar( bare ekstrakt til en ny katalog) prosjektfil for et tidspunkt i kompilering, og det kan virkelig være nyttig.
Lenker
Last ned Prosjekt Bygg Backup Script
Last ned 7-Zip Command Line Tool( Merk - 7za verktøyet er også buntet med en nedlasting fra Project Build Backup script)