Como criar automaticamente backups de compilação no Visual Studio

Índice:

Como criar automaticamente backups de compilação no Visual Studio
Como criar automaticamente backups de compilação no Visual Studio

Vídeo: Como criar automaticamente backups de compilação no Visual Studio

Vídeo: Como criar automaticamente backups de compilação no Visual Studio
Vídeo: Código de Convergência - Descubra seus Dons e Atenda o seu Chamado | JB Carvalho - YouTube 2024, Maio
Anonim
Se você é uma equipe de desenvolvimento individual, 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.
Se você é uma equipe de desenvolvimento individual, 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 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.

Nas propriedades do projeto, vá para a seção Compile.
Nas propriedades do projeto, vá para a seção Compile.
No canto inferior direito, clique no botão Construir eventos.
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. Verifique se você tem a opção de executar o evento pós-compilação “Em uma compilação bem-sucedida” e, em seguida, clique no botão Editar Post-build.
No nosso caso, queremos fazer um backup após uma ação de compilação bem-sucedida. Verifique se você tem a opção de executar o evento 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 da Liberação (isso é o que a condição IF verifica), como, realisticamente, provavelmente não queremos fazer um backup de cada compilação de Depuração / teste. 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 construção (Release neste caso) ao nome do arquivo de backup.
O comando abaixo cria um backup de compilação apenas para a compilação da configuração da Liberação (isso é o que a condição IF verifica), como, realisticamente, provavelmente não queremos fazer um backup de cada compilação de Depuração / teste. 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 construção (Release neste caso) ao nome do arquivo de backup.

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.

Depois de concluir seu comando e aplicá-lo, a seqüência de comando deve aparecer na seção de eventos de pós-compilação.
Depois de concluir seu comando e aplicá-lo, a seqüência 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 qualquer evento adicionado depois disso pode não ser executado.

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.
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 compilação de release bem-sucedida 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).
Cada compilação de release bem-sucedida 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 faz deste um verdadeiro backup point in time.
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 faz deste um verdadeiro backup point in time.
Image
Image

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)

Recomendado: