25Aug

So erstellen Sie automatisch Build-Sicherungen in Visual Studio

click fraud protection

Wenn Sie ein Ein-Mann-Entwicklerteam sind, brauchen Sie wahrscheinlich kein vollständiges Versionskontrollsystem, aber das Erstellen von Quellcode-Backups für jede veröffentlichte Version ist zweifellos wichtig.

Mithilfe der leistungsstarken Post-Build-Ereignisse und eines einfachen Batch-Skripts können Sie problemlos die Möglichkeit hinzufügen, dass Visual Studio automatisch eine Quellcode-Sicherung für jeden Build erstellt.

So funktioniert es

Unsere Lösung ist einfach: Jedes Mal, wenn ein erfolgreiches Build-Ereignis auftritt, wird ein Batch-Skript ausgeführt, das ein komprimiertes Archiv( optional mit Tags und Zeitstempel) aller Dateien im entsprechenden Visual Studio-Projektordner erstellt.

Das ist es. Alles, was Sie tun müssen, ist die folgenden Schritte.

Automatische Build-Backups einrichten

Zuerst müssen Sie die Batch-Script-Datei herunterladen und aus dem Link am Ende des Artikels extrahieren. Außerdem benötigen Sie das Befehlszeilentool 7-Zip( dieses ist in der vollständigen Version des Project Build Backup-Skripts enthalten oder Sie können es separat herunterladen).In unserem Beispiel haben wir diese Dateien in das Verzeichnis "C: \ Tools" extrahiert, aber jeder Speicherort funktioniert.

instagram viewer

Öffnen Sie Ihre Visual Studio-Projekteigenschaften, indem Sie im jeweiligen Projekt auf Mein Projekt doppelklicken.

Wechseln Sie in den Projekteigenschaften zum Abschnitt Kompilieren.

Klicken Sie in der unteren rechten Ecke auf die Schaltfläche Ereignisse erstellen.

In unserem Fall möchten wir nach einer erfolgreichen Kompilieraktion eine Sicherungskopie erstellen. Stellen Sie sicher, dass Sie die Möglichkeit haben, das Post-Build-Ereignis "Bei erfolgreichem Build" auszuführen, und klicken Sie dann auf die Schaltfläche Post-Build bearbeiten.

Der folgende Befehl erstellt ein Build-Backup nur für die Kompilierung der Release-Konfiguration( dies wird von der IF-Bedingung überprüft), da wir wahrscheinlich keine Sicherungskopie von jedem Debug / Test-Build erstellen wollen. Darüber hinaus wird der aktuelle Zeitstempel( / D-Schalter) mit der Sicherungsdatei im 7z-Dateiformat( / 7z) angehängt( im Gegensatz zu zip).Indem wir / T "$( ConfigurationName)" als Parameter hinzufügen, fügen wir den Build-Typ( in diesem Fall Release) an den Namen der Backup-Datei an.

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

Mit der Schaltfläche Makros können Sie projektspezifische Informationen in Visual Studio einplanen, sodass keine Hardcodierung erforderlich ist. Sie können diesen Befehl nach Bedarf anpassen( insbesondere den Speicherort der Batch-Datei), aber die ersten drei Parameter müssen wahrscheinlich nicht geändert werden.

Beachten Sie, dass Vorgänge nach dem Ereignis unabhängig von der ausgewählten Projektkonfiguration ausgeführt werden. Aus diesem Grund müssen wir die Anweisung IF "$( ConfigurationName)" == "Release" hinzufügen - andernfalls würde die Sicherungsaktion bei bei jedem erfolgreichen -Build-Ereignis auftreten.

Sobald Sie Ihren Befehl abgeschlossen und angewendet haben, sollte die Befehlszeichenfolge im Abschnitt Ereignisse nach dem Build angezeigt werden.

Beachten Sie, dass, obwohl der Befehl "CALL" technisch nicht erforderlich ist, es sehr empfohlen wird, als ob dies weggelassen würde. Eventuell danach hinzugefügte Ereignisse werden möglicherweise nicht ausgeführt.

Wenn Sie nun in der Release-Konfiguration eine Kompilierung / Erstellung mit Ihrem Projekt durchführen, sehen Sie die Ausgabe der Build-Backup-Operation.

[...]

Jeder erfolgreiche Release-Build erstellt ein neues zeitgestempeltes Archiv mit dem Lösungsordner in einem Unterverzeichnis "Builds"( das bei Bedarf mit dem / O-Schalter benutzerdefiniert definiert werden kann).

Der Inhalt jedes Backups ist das vollständige Visual Studio-Projekt - Quelldateien, Konfigurationseinstellungen, kompilierte Binärdateien und alle -, was dies zu einer echten Sicherung der Zeitpunkte macht.

Kein Ersatz für ein Vollversions-Kontrollsystem

Abschließend möchten wir noch einmal betonen, dass dieses Tool nicht dazu gedacht ist, ein vollständiges Versionskontrollsystem zu ersetzen. Es ist einfach ein nützliches Werkzeug für Entwickler, um Snapshots des Quellcodes ihres Projekts nach jeder Kompilierung zu erstellen.

Für den Fall, dass Sie jemals zurückgehen und eine frühere Version untersuchen müssen, kann es sehr nützlich sein, wenn Sie eine fertige Projektdatei( nur in ein neues Verzeichnis extrahieren) für eine Punkt-zu-Punkt-Kompilierung haben.

Links

Herunterladen Projekt Erstellen eines Backup-Skripts

Herunterladen des 7-Zip-Befehlszeilentools( Hinweis: Das 7za-Dienstprogramm wird auch mit einem Download aus dem Project Build-Backup-Skript geliefert)