| Ter, 02 de Fevereiro de 2010 15:08 |
Este artigo trata de como integrar o Mantis, um bug tracker popular, com o SVN. O objetivo é automatizar a atualização de issues no mantis a partir de commits de alterações pelo SVN. Basicamente, deseja-se eliminar a atividade adicional de logar no mantis para marcar uma issue como "RESOLVED" após a conclusão da etapa de codificação. Assume-se que você já tem o Mantis e o SVN instalados e funcionando adequadamente de modo isolado. Caso ainda não tenha, procure por tutoriais na net sobre como instalá-los. Outra premissa é que você está trabalhando em um servidor Linux. Em ambientes (ergh) Windows o procedimento pode ser diferente, não sei e não me pergunte... :) Antes de mais nada, devo citar os devidos créditos. Quase tudo que fiz aqui veio do tutorial encontrado em http://www.grafxsoftware.com/option.php/182. Apenas fiz algumas atualizações, como por exemplo arquivos que mudaram de lugar, etc. Bom, o primeiro passo é criar um usuário no Mantis para ser usado pelo script. Você pode criar um usuário chamado "svn", por exemplo. É importante que ele tenha permissão nos seus projetos de alterar o status de issues. Coloque-o como "developer" que tudo vai ficar bem. A regra fundamental é a exigência de um pequeno padrão de texto nos comentários dos commits no SVN. Sempre que você (ou o programador) referenciar a issue no texto de comentário, esse texto será adicionado como uma nota no registro da issue no Mantis. Para isso, basta que o texto contenha um padrão do tipo: - issue #4 ou - bug #00456 Então, se o comentário for algo do tipo: "Corrigido caminhos relativos. Alteração referente a issue #5647", esse texto será adicionado como nota no registro da issue número 5647 no Mantis. E, se o texto contenha um padrão do tipo: - fixes issue #5466 ou - fixed issue #5466 ou ainda - fixed bug #5466 a issue terá seu status alterado, além da incorporação do texto como nota. O status irá para RESOLVED e a resolution para FIXED. É claro que você poderá mudar no código o status final que deseja, ou até mesmo o padrão de texto a ser procurado, colocando em Português, por exemplo. Vamos lá. Vá para o diretório onde você tem o Mantis instalado. A partir de agora vou me referir a ele como MANTIS_PATH, pois cada um tem o seu e não mostra pra ninguém (sim, que nem aquilo). Neste diretório, abra, com seu vi preferido, o arquivo de configuração do Mantis, chamadoconfig_inc.php e inclua o código abaixo após as linhas de código já existentes. Obviamente antes do delimitador de código final, o famoso "?>". Clique no link abaixo para ver o código. Feito isso, você já pode testar o funcionamento do casamento de padrão. Embaixo de MANTIS_PATH, tem um subdiretório chamado scripts. Nele vamos encontrar um... script!!!... que podemos usar para testar essa parte da integração. Ah, mas antes disso, é claro que você tem que criar (reportar) uma issue de teste no Mantis. Memorize seu número. Criada a issue, no shell, dentro do subdir scripts, execute o comando abaixo, trocando o número 4 pelo número da sua issue de teste. /usr/bin/php checkin.php <<< "hlbog fixed issue #4" Funcionou? Excelente. Agora a última parte. Aqui precisamos fazer com que uma operação de commit no SVN chame automagicamente o script de checkin que acabamos de executar manualmente. Pra isso temos os gloriosos hooks! Fácil. Vá para o diretório do seu repositório SVN, no servidor mesmo, não é na sua cópia de trabalho local. Neste local tem um subdiretório chamado hooks, e lá vários arquivos com extensão tmpl, que são scripts de exemplo que vem na instalação do SVN. Mas você irá criar seu próprio arquivos chamado post-commit. Isso mesmo, sem extensão nenhuma. O conteúdo desse arquivo será: Clique no link abaixo para ver o código. Repare que você deve colocar o caminho para o SEU Mantis no código. Altere a permissão do arquivo para execução: chmod 550 post-commit And... we're done! good coding. -- Helder Garcia |
Retirado de : http://www.sounerd.com.br/index.php/section-blog/80-Desenvolvimento/351-integracao-mantis-e-svn.html |
sexta-feira, 18 de fevereiro de 2011
integracao mantis e svn
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário