25Aug

Come creare automaticamente backup di build in Visual Studio

Se sei un team di sviluppo one man, probabilmente non hai realmente bisogno di un sistema di controllo di versione completo, tuttavia creare backup di codice sorgente per ciascuna versione rilasciata è indubbiamente importante.

Sfruttando la potenza degli eventi post-build e un semplice script batch, è possibile aggiungere facilmente la possibilità di fare in modo che Visual Studio crei automaticamente un backup del codice sorgente per ogni build del codice di rilascio.

Come funziona

La nostra soluzione è semplice: ogni volta che si verifica un evento build di successo, viene eseguita un'esecuzione di script batch che crea un archivio compresso( facoltativamente contrassegnato e con timestamp) di tutti i file nella rispettiva cartella del progetto Visual Studio.

Questo è tutto. Tutto quello che devi fare è seguire i passaggi qui sotto.

Configurazione di backup di build automatici

Innanzitutto è necessario scaricare ed estrarre il file di script batch dal collegamento nella parte inferiore dell'articolo. Inoltre, è necessario lo strumento da riga di comando 7-Zip( incluso in una versione "completa" dello script Project Build Backup, oppure è possibile scaricarlo separatamente).Nel nostro esempio, abbiamo estratto questi file nella directory "C: \ Tools", ma qualsiasi posizione funzionerà.

Apri le proprietà del tuo progetto Visual Studio facendo doppio clic su Mio progetto sotto il rispettivo progetto.

Nelle proprietà del progetto, vai alla sezione Compila.

Nell'angolo in basso a destra, fai clic sul pulsante Crea eventi.

Nel nostro caso, vogliamo fare un backup dopo una compilazione di successo. Assicurati di avere l'opzione per eseguire l'evento post-build "In caso di successo della creazione" e quindi fai clic sul pulsante Modifica post-build.

Il comando seguente crea un backup di build solo per la compilazione della configurazione di Release( questo è ciò che controlla la condizione IF per) poiché, realisticamente, probabilmente non vogliamo fare un backup di ogni build di debug / testing. Inoltre, verrà aggiunto il timestamp corrente( / D switch) con il file di backup in formato 7z( / 7z) anziché zip. Aggiungendo il parametro / T "$( ConfigurationName)" come parametro, aggiungiamo il tipo di build( Rilascio in questo caso) al nome del file di backup.

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

Utilizzando il pulsante Macro, è possibile avere informazioni specifiche del progetto di precompilazione di Visual Studio in modo che non sia richiesta alcuna codifica hardware.È possibile regolare questo comando secondo necessità( in particolare la posizione del file batch), ma i primi tre parametri probabilmente non dovranno essere modificati.

È importante tenere presente che le operazioni post evento vengono eseguite indipendentemente dalla configurazione del progetto selezionata. Questo è il motivo per cui abbiamo bisogno di aggiungere l'istruzione IF "$( ConfigurationName)" == "Release" - altrimenti l'azione di backup si verificherebbe su ogni evento di build riuscito di .

Una volta terminato il comando e applicato, la stringa di comando dovrebbe apparire nella sezione Eventi post-build.

Si noti che mentre il comando "CALL" non è tecnicamente richiesto, è altamente raccomandato, come se questo fosse omesso quindi qualsiasi evento aggiunto dopo questo non può essere eseguito.

Ora ogni volta che si esegue una compilazione / compilazione con il progetto nella configurazione di rilascio, verrà visualizzato l'output dall'operazione di backup della build.

[...]

Ogni build di Release con successo crea un nuovo archivio con data e ora con la cartella della soluzione in una sottodirectory, "Build"( che può essere personalizzata con l'opzione / O, se necessario).

Il contenuto di ogni backup è il progetto completo di Visual Studio - file di origine, impostazioni di configurazione, binari compilati e tutto - il che rende questo un vero backup puntuale.

Non un sostituto per un sistema di controllo versione completa

In chiusura, vogliamo solo ribadire che questo strumento non è destinato a sostituire un sistema di controllo di versione completo.È semplicemente uno strumento utile agli sviluppatori per creare istantanee del codice sorgente del loro progetto dopo ogni compilazione.

Nel caso in cui dovessi tornare indietro ed esaminare una versione precedente, avere un file di progetto pronto per l'uso( solo estrarre in una nuova directory) per una compilazione punto a tempo può davvero tornare utile. Collegamenti

Scarica progetto Crea script di backup

Scarica strumento da riga di comando 7-Zip( Nota: l'utilità 7za è anche in bundle con un download dallo script di Project Build Backup)