Eu e meu grupo somos horríveis em incrementar números de versão de assembly e frequentemente enviamos assemblies com versões 1.0.0.0. Obviamente, isso causa muitas dores de cabeça.
Estamos ficando muito melhores com nossas práticas por meio de nossa plataforma de CI e eu realmente gostaria de configurá-la para incrementar automaticamente os valores dentro do assemblyinfo.cs
arquivo para que as versões de nossos assemblies sejam atualizadas automaticamente com as alterações de código naquele assembly.
Eu já havia configurado (antes de encontrarmos o Hudson ) uma maneira de incrementar o valor por meio de msbuild
ou da linha de comando (não me lembro), mas com o Hudson, isso atualizará o repositório SVN e acionará OUTRO build. Isso resultaria em um loop infinito lento, pois o Hudson pesquisa o SVN a cada hora.
É uma má ideia fazer com que o Hudson incremente o número da versão? Qual seria uma forma alternativa de fazer isso?
Idealmente, meus critérios para uma solução seriam:
- Incrementa o número da construção
assemblyinfo.cs
antes de uma construção - Apenas incrementa o número de construção em montagens que foram alteradas. Isso pode não ser possível porque Hudson apaga a pasta do projeto toda vez que faz uma construção
- Confirma o assemblyinfo.cs alterado no repositório de código (atualmente VisualSVN )
- Não faz com que o Hudson acione uma nova construção na próxima vez que verificar as alterações
Resolvendo isso em minha cabeça, eu poderia facilmente encontrar uma solução para a maior parte disso por meio de arquivos / comandos em lote, mas todas as minhas idéias fariam com que o Hudson acione uma nova compilação na próxima vez que fizer a varredura. Não estou procurando alguém para fazer tudo por mim, apenas me aponte na direção certa, talvez uma técnica para fazer Hudson ignorar certos commits de SVN, etc.
Tudo o que encontrei até agora é apenas um artigo explicando como aumentar o número da versão automaticamente, nada leva em consideração uma plataforma de CI que poderia ser girada em um loop infinito.