25Aug

Back-ups automatisch maken in Visual Studio

click fraud protection

Als je een eenmans ontwikkelteam bent, heb je waarschijnlijk niet echt de behoefte aan een volledig ontwikkeld versiebeheersysteem, maar het maken van back-ups van broncodes voor elke uitgebrachte versie is ongetwijfeld belangrijk.

Door gebruik te maken van de kracht van post-build-gebeurtenissen en een eenvoudig batch-script, kunt u eenvoudig de mogelijkheid toevoegen om Visual Studio automatisch een back-up van de broncode te laten maken voor elke build van de releasecode.

Hoe het werkt

Onze oplossing is eenvoudig: wanneer een succesvolle buildgebeurtenis plaatsvindt, hebben we een batch-scriptrun waarmee een gecomprimeerd archief( optioneel met tags en tijdstempels) van alle bestanden in de respectieve Visual Studio-projectmap wordt gemaakt.

Dat is alles. Het enige dat u hoeft te doen, is de onderstaande stappen volgen.

Automatische build-backups instellen

Eerst moet u het batch-scriptbestand downloaden en uitpakken via de link onderaan het artikel. Bovendien hebt u het 7-Zip-opdrachtregelhulpprogramma nodig( dit is opgenomen in de 'volledige' versie van het script voor het maken van project-back-ups, of u kunt het afzonderlijk downloaden).In ons voorbeeld hebben we deze bestanden geëxtraheerd naar de map "C: \ Tools", maar elke locatie werkt.

instagram viewer

Open uw Visual Studio Project-eigenschappen door te dubbelklikken op Mijn project onder het respectieve project.

Ga in de projecteigenschappen naar het gedeelte Compileren.

Klik in de rechterbenedenhoek op de knop Gebeurtenissen bouwen.

In ons geval willen we een back-up maken na een geslaagde compile-actie. Zorg ervoor dat u de optie heeft om de post-build-gebeurtenis "On successful build" uit te voeren en klik vervolgens op de knop Post-build bewerken.

De onderstaande opdracht maakt alleen een buildback-up voor het compileren van de Release-configuratie( dit is waar IF-voorwaarde voor controleert), omdat we waarschijnlijk geen back-up van elke Debug / testing-build willen maken. Bovendien wordt de huidige tijdstempel toegevoegd( / D-switch) waarbij het back-upbestand 7z-bestandsformaat( / 7z) is in plaats van zip. Door de / T "$( ConfigurationName) als een parameter toe te voegen, voegen we het buildtype( Release in dit geval) toe aan de naam van het back-upbestand.

IF "$( ConfigurationName)" == "Release" CALL C: \ Tools \ ProjectBuildBackup.bat "$( SolutionDir)" "$( ProjectDir)" "$( ProjectName)" / T "$( ConfigurationName)" / D/ 7z

Met de knop Macro's kunt u Visual Studio-prefill-projectspecifieke informatie laten maken, zodat er geen hardcoding is vereist. U kunt deze opdracht naar wens aanpassen( met name de locatie van het batchbestand), maar de eerste drie parameters hoeven waarschijnlijk niet te worden gewijzigd.

Het is belangrijk om te onthouden dat operaties na een gebeurtenis worden uitgevoerd ongeacht de geselecteerde projectconfiguratie. Dit is waarom we de IF "$( ConfigurationName)" == "Release" -instructie moeten toevoegen - anders zou de back-upactie op elke -succesvolle buildgebeurtenis op plaatsvinden.

Als u klaar bent met uw opdracht en deze toepast, moet de opdrachtreeks worden weergegeven in het gedeelte Gebeurtenissen na build.

Merk op dat hoewel het "CALL" -commando technisch niet vereist is, het ten zeerste wordt aanbevolen, alsof dit wordt weggelaten en dat eventuele gebeurtenissen die hierna worden toegevoegd, mogelijk niet worden uitgevoerd.

Wanneer u nu een compilatie / build uitvoert met uw project in de Release-configuratie, ziet u de uitvoer van de build-backupbewerking.

[...]

Elke succesvolle Release-build creëert een nieuw timestamped-archief met de oplossingsmap in een subdirectory, "Builds"( die op maat kan worden gedefinieerd met de schakeloptie / O indien nodig).

De inhoud van elke back-up is het volledige Visual Studio-project - bronbestanden, configuratie-instellingen, gecompileerde binaries en al - waardoor dit een echte back-up van punten is.

Geen vervanging voor een volledig versiebesturingssysteem

Ter afsluiting willen we alleen herhalen dat deze tool niet bedoeld is om een ​​volledig opgeblazen versiecontrolesysteem te vervangen. Het is gewoon een handig hulpmiddel voor ontwikkelaars om snapshots van de broncode van hun project te maken na elke compilatie.

In het geval dat je ooit terug moet gaan om een ​​eerdere versie te bekijken, kan het hebben van een gebruiksklare( alleen uitpakken naar een nieuwe map) projectbestand voor een punt in tijdcompilatie echt van pas komen.

Koppelingen

Download Project Build Backup Script

Download 7-Zip Command Line Tool( Opmerking - het 7za hulpprogramma is ook gebundeld met een download van het Project Build Backup-script)