Qual é o caminho certo para gerenciar um lançamento com o SVN?

Meu último empregador desenvolveu um elaborado sistema que ficava no topo do SVN para lidar com o desenvolvimento contínuo: (mudar a gestão) olhar para bugs / issues e associá-los a commits ao fazer o commit marcando o número do bug e (liberação de gerenciamento) marca itens no SVN como parte de uma versão específica baseada no sistema de rastreamento de erros / problemas. Esta segunda parte tinha um fluxo de trabalho associado a ele para obter aprovação dos usuários / gerenciamento. Então, quando chegou a hora de fazer o lançamento (geralmente toda quinta-feira à noite), eles podiam executar um comando para verificar todo o código marcado e implantá-lo.

Minha nova empresa é muito menor e estou interessado em encontrar um equivalente de baixo custo / baixa manutenção, mesmo que isso signifique lidar diretamente com o SVN. Em particular, eu regularmente encontro commits no final do jogo quebrando nossa build, e torna-se muito difícil desvendar o que podemos incluir. (No que diz respeito ao gerenciamento de SVN, tenho a tendência de preferir a ideia de tags em branches porque requer menos previsão, mas estou feliz em ser convencido do contrário.)

O que as pessoas usam para marcar os commits de uma release e fazer uma implantação subsequente? Existem boas soluções de código aberto para gerenciar um ciclo de lançamento que permite navegar no SVN a partir de um navegador da Web e marcar problemas / confirmações para uma versão? A melhor coisa que eu vi até agora éJira, mas isso parece uma ferramenta muito grande (é difícil configurar / manter?). A Apache Foundation faz bom uso de Jira para esse propósito (veja, por exemplo,o roteiro do Mahout).

Dar um passo além disso seria ter esse mesmo sistema também incluir integração contínua para que nossos testes de unidade pudessem ser executados com cada commit e cada bug / problema teria então essa informação associada.

Nota: Existem algumas questões ligeiramente relacionadas no stackoverflow, mas não vejo nada que cubra esse aspecto do ciclo de implantação e o gerenciamento de versões (vejarelease-management-in-svn, gerenciar seu ciclo de vida do projetoebest-way-to-handle-change-management).

questionAnswers(2)

yourAnswerToTheQuestion