Automatische Erstellung von Build-Sicherungen in Visual Studio
Wenn Sie ein Ein-Mann-Entwicklungsteam sind, benötigen Sie wahrscheinlich kein umfassendes Versionskontrollsystem. Das Erstellen von Quellcode-Sicherungen für jede veröffentlichte Version ist jedoch zweifellos wichtig.
Durch die Nutzung von Post-Build-Ereignissen und eines einfachen Batch-Skripts können Sie problemlos die Möglichkeit hinzufügen, dass Visual Studio automatisch eine Quellcode-Sicherung für jeden Versionscode erstellt.
Wie es funktioniert
Unsere Lösung ist einfach: Wenn ein Build-Ereignis erfolgreich ausgeführt wird, 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. Sie müssen nur die folgenden Schritte ausführen.
Einrichten automatischer Build-Backups
Zunächst müssen Sie die Batch-Skriptdatei herunterladen und aus dem Link am Ende des Artikels extrahieren. Darüber hinaus benötigen Sie das 7-Zip-Befehlszeilentool (dieses ist in der 'Vollversion' des Project Build Backup-Skripts enthalten oder kann separat heruntergeladen werden). In unserem Beispiel haben wir diese Dateien in das Verzeichnis „C: \ Tools“ extrahiert, aber jeder Speicherort funktioniert.
Öffnen Sie Ihre Visual Studio-Projekteigenschaften, indem Sie unter dem jeweiligen Projekt auf Mein Projekt doppelklicken.
Wechseln Sie in den Projekteigenschaften zum Abschnitt Kompilieren.
Klicken Sie in der rechten unteren Ecke auf die Schaltfläche Ereignisse erstellen.
In unserem Fall möchten wir nach einer erfolgreichen Kompilierungsaktion ein Backup erstellen. Stellen Sie sicher, dass Sie die Option zum Ausführen des Post-Build-Ereignisses "Bei erfolgreichem Build" haben, und klicken Sie auf die Schaltfläche "Post-Build bearbeiten".
Mit dem folgenden Befehl wird eine Build-Sicherung nur für die Kompilierung der Release-Konfiguration erstellt (dies ist der Grund, auf den die IF-Bedingung geprüft wird), da wir realistischerweise wahrscheinlich keine Sicherung von jedem Debug- / Test-Build erstellen möchten. Außerdem wird der aktuelle Zeitstempel angehängt (/ D-Schalter), wobei sich die Sicherungsdatei im Gegensatz zu zip im 7z-Dateiformat (/ 7z) befindet. Durch Hinzufügen von / T “$ (ConfigurationName)” als Parameter fügen wir den Build-Typ (in diesem Fall Release) an den Namen der Sicherungsdatei an.
WENN “$ (ConfigurationName)” == “Release” CALL C: \ Tools \ ProjectBuildBackup.bat “$ (SolutionDir)” “$ (ProjectDir)” “$ (ProjectName)” / T “$ (ConfigurationName)” / D / 7z
Mit der Schaltfläche "Makros" können Sie Visual Studio vorab projektspezifische Informationen vorab anzeigen lassen, sodass keine Hardcodierung erforderlich ist. Sie können diesen Befehl nach Bedarf anpassen (insbesondere den Speicherort der Batchdatei), die ersten drei Parameter müssen jedoch wahrscheinlich nicht geändert werden.
Es ist wichtig zu wissen, dass Vorgänge nach dem Ereignis unabhängig von der ausgewählten Projektkonfiguration ausgeführt werden. Deshalb müssen wir die IF-Anweisung "$ (ConfigurationName)" == "Release" hinzufügen, da sonst die Sicherungsaktion ausgeführt würde jeden erfolgreiche Bauveranstaltung.
Wenn Sie Ihren Befehl abgeschlossen und angewendet haben, sollte die Befehlszeichenfolge im Abschnitt Nachgebaute Ereignisse angezeigt werden.
Beachten Sie, dass der Befehl „CALL“ zwar technisch nicht erforderlich ist, es wird jedoch dringend empfohlen, da dies unterlassen wird, werden nach diesem Zeitpunkt hinzugefügte Ereignisse möglicherweise nicht ausgeführt.
Immer, wenn Sie in der Release-Konfiguration ein Compile / Build mit Ihrem Projekt ausführen, wird die Ausgabe der Build-Backup-Operation angezeigt.
[…]
Jeder erfolgreiche Release-Build erstellt ein neues Zeitstempel-Archiv mit dem Lösungsordner in einem Unterverzeichnis, "Builds" (das bei Bedarf mit dem / O-Schalter definiert werden kann)..
Der Inhalt jedes Backups ist das vollständige Visual Studio-Projekt - Quelldateien, Konfigurationseinstellungen, kompilierte Binärdateien und alle -. Dies macht dieses Backup zu einem echten Zeitpunkt.
Kein Ersatz für ein Vollversionskontrollsystem
Zum Schluss möchten wir noch einmal betonen, dass dieses Tool kein volles Versionskontrollsystem ersetzen soll. Es ist einfach ein nützliches Werkzeug für Entwickler, um nach jeder Kompilierung Momentaufnahmen des Quellcodes ihres Projekts zu erstellen.
Für den Fall, dass Sie eine frühere Version erneut prüfen müssen, kann es hilfreich sein, eine Projektdatei (nur in ein neues Verzeichnis extrahieren) für einen bestimmten Zeitpunkt zu kompilieren.
Links
Laden Sie das Project Build Backup-Skript herunter
7-Zip-Befehlszeilentool herunterladen (Hinweis: Das 7za-Dienstprogramm wird auch mit einem Download aus dem Project Build Backup-Skript gebündelt.)