Aproveitando o poder de eventos pós-compilação e um script em lote simples, você pode adicionar facilmente a capacidade de fazer com que o Visual Studio crie automaticamente um backup de código-fonte para cada compilação de código de liberação.
Como funciona
Nossa solução é simples: sempre que ocorre um evento de compilação bem-sucedido, temos uma execução de script em lote que cria um archive compactado (opcionalmente marcado e com registro de data e hora) de todos os arquivos na respectiva pasta de projeto do Visual Studio.
É isso aí. Tudo o que você precisa fazer é seguir os passos abaixo.
Configurando Backups de Construção Automáticos
Primeiro, você precisará baixar e extrair o arquivo de script em lote do link na parte inferior do artigo. Além disso, você precisará da ferramenta de linha de comando 7-Zip (incluída com a versão "completa" do script de backup de compilação do projeto ou você pode fazer o download separadamente). Em nosso exemplo, extraímos esses arquivos para o diretório “C: Tools”, mas qualquer local funcionará.
Abra as propriedades do seu projeto do Visual Studio clicando duas vezes em Meu projeto no respectivo projeto.
IF “$(ConfigurationName)” == “Release” CALL C:ToolsProjectBuildBackup.bat “$(SolutionDir)” “$(ProjectDir)” “$(ProjectName)” /T “$(ConfigurationName)” /D /7z
Usando o botão Macros, você pode fazer com que o Visual Studio preencha as informações específicas do projeto para que não seja necessário codificar. Você pode ajustar esse comando conforme necessário (especialmente a localização do arquivo de lote), mas os três primeiros parâmetros provavelmente não precisarão ser alterados.
É importante ter em mente que as operações pós-evento são executadas, independentemente da configuração do projeto selecionada. É por isso que precisamos adicionar a instrução IF “$ (ConfigurationName)” == “Release” - caso contrário, a ação de backup ocorreria em cada evento de construção bem sucedido.
Observe que, embora o comando “CALL” não seja tecnicamente necessário, é altamente recomendável, como se isso fosse omitido, então qualquer evento adicionado depois disso pode não ser executado.
Não é um substituto para um sistema de controle de versão completo
No fechamento, queremos apenas reiterar que essa ferramenta não se destina a substituir um sistema de controle de versão completo. É simplesmente uma ferramenta útil para os desenvolvedores criarem instantâneos do código-fonte de seu projeto após cada compilação.
No caso de você ter que voltar e examinar uma versão anterior, ter um arquivo de projeto pronto para uso (apenas extrair para um novo diretório) para uma compilação pontual pode realmente ser útil.
Links
Download do script de backup de compilação do projeto
Download da ferramenta de linha de comando 7-Zip (Observação - o utilitário 7za também é fornecido com um download do script de backup de compilação do projeto)