Como criar automaticamente backups de compilação no Visual Studio
Se você é uma equipe de desenvolvimento de um homem, provavelmente não precisa realmente de um sistema de controle de versão completo, mas criar backups de código-fonte para cada versão lançada é, sem dúvida, importante.
Aproveitando o poder de eventos pós-compilação e um script em lotes 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 Project Build Backup, ou você pode baixá-la 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.
Nas propriedades do projeto, vá para a seção Compile.
No canto inferior direito, clique no botão Construir eventos.
No nosso caso, queremos fazer um backup após uma ação de compilação bem-sucedida. Certifique-se de que você tem a opção de executar o evento de pós-compilação "Em uma compilação bem-sucedida" e, em seguida, clique no botão Editar Post-build.
O comando abaixo cria um backup de compilação apenas para a compilação da configuração Release (isso é o que a condição IF verifica), como, realisticamente, provavelmente não queremos fazer um backup de cada compilação Debug / testing. Além disso, o carimbo de data / hora atual será anexado (opção / D) com o arquivo de backup no formato de arquivo 7z (/ 7z) em oposição ao zip. Adicionando o / T “$ (ConfigurationName)” como um parâmetro, estamos anexando o tipo de compilação (Release neste caso) ao nome do arquivo de backup.
IF “$ (ConfigurationName)” == “Release” CALL C: \ Ferramentas \ ProjectBuildBackup.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 este 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.
Assim que terminar o seu comando e aplicá-lo, a string de comando deve aparecer na seção de eventos de pós-compilação..
Observe que, embora o comando “CALL” não seja tecnicamente necessário, é altamente recomendável, como se isso fosse omitido, então, quaisquer eventos adicionados depois disso podem não ser executados.
Agora, sempre que você executar uma compilação / compilação com o seu projeto na configuração Release, você verá a saída da operação de backup de compilação.
[…]
Cada build de Release bem-sucedido cria um novo archive de timestamp com a pasta de solução em um subdiretório, “Builds” (que pode ser personalizado com a opção / O, se necessário).
O conteúdo de cada backup é o projeto completo do Visual Studio - arquivos de origem, definições de configuração, binários compilados e tudo - o que torna esse backup um verdadeiro ponto no tempo..
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
Baixar o script de backup de compilação do projeto
Download da ferramenta de linha de comando 7-Zip (Nota - o utilitário 7za também vem com um download do script de backup de compilação do projeto)