Startpagina » hoe » Back-ups automatisch maken in Visual Studio

    Back-ups automatisch maken in Visual Studio

    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 build-gebeurtenis plaatsvindt, hebben we een batch-scriptrun waarmee een gecomprimeerd archief (optioneel getagged en tijdgestempeld) van alle bestanden in de respectieve Visual Studio-projectmap wordt gemaakt.

    Dat is het. 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-backups, of u kunt het afzonderlijk downloaden). In ons voorbeeld hebben we deze bestanden geëxtraheerd naar de map "C: \ Tools", maar elke locatie werkt.

    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 succesvolle 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) met het back-upbestand in 7z-bestandsformaat (/ 7z) 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 plaatsvinden op elk succesvolle build-gebeurtenis.

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

    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 maakt een nieuw archief met tijdstempels aan 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 alles - waardoor dit een echte back-up van het tijdstip is.

    Geen vervanging voor een volledig versiebesturingssysteem

    Ter afsluiting willen we alleen herhalen dat deze tool niet bedoeld is om een ​​volledig versie-besturingssysteem 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 u ooit terug moet gaan om een ​​eerdere versie te bekijken, kan het hebben van een kant-en-klaar (alleen uitpakken naar een nieuwe map) projectbestand voor een punt in tijdcompilatie echt van pas komen.

    Links

    Download Project Build Backup Script

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