Pergunta

Eu uso cruisecontrol.rb para CI e FogBugz para rastreamento de bugs, mas quanto mais gerais as respostas, melhor.

Primeiro é o problema técnico:existe uma API para o FogBugz?Existem bons tutoriais ou, melhor ainda, códigos pré-escritos?

Em segundo lugar está o problema processual:o que exatamente o CI deve colocar no rastreador de bugs quando a compilação falha?Talvez:

Título:"#{último committer} quebrou a compilação!"

Corpo:"#{ rastreamentos de erro}"

Suponho que isso pressupõe a resposta a esta pergunta:devo colocar quebras de CI no meu rastreamento de bugs?

Foi útil?

Solução

Todas as configurações de CI com as quais trabalhei enviam um e-mail (para uma lista), mas se você quiser – especialmente se sua equipe usa o FogBugz como um sistema de tarefas – você pode simplesmente abrir um caso no FogBugz 6. Tem uma API que permite abrir casos.Nesse caso, você poderia simplesmente configurá-lo para enviar o email para o endereço de envio de email do seu FogBugz, mas a API pode permitir que você faça mais, como atribuir o caso ao último committer.

BrianA resposta de me sugere que, se o seu IC encontrar uma falha em um commit que tinha um número de caso, você poderá simplesmente reabrir o caso existente.Porém, assim como codificar um campo de caso para cada pequena coisa, há um ponto em que a automação de CI pode ser “inteligente demais”, errar e ser simplesmente irritante.Abrir um novo caso pode ser suficiente.

E obrigado:isso me faz pensar se devo tentar integrar nossos Chimpanzés configure com nosso FogBugz!

Outras dicas

Na minha empresa, adotamos recentemente a pilha (comercial) Atlassian - incluindo JIRA para rastreamento de problemas e Bamboo para compilações.Muito parecido com o mundo da Microsoft (suponho - somos uma loja Java), se você adquirir todos os seus produtos de um único fornecedor, receberá o bônus de uma integração estreita.

Para obter um exemplo de como eles fizeram a interoperabilidade, veja seu página de interoperabilidade.

Chega de xelins.De modo geral, posso resumir sua abordagem geral como:

  • Crie problemas em seu rastreador de bugs (ex:chave de emissão do PROJ-123).
  • Ao confirmar o código, adicione "PROJ-123" ao seu comentário de confirmação para indicar qual bug essa alteração de código corrige.
  • Quando o seu servidor CI verificar o código, verifique os comentários de commit das diferenças.Registre todas as strings que correspondam ao regex das suas chaves de problema.
  • Quando a compilação for concluída, gere um relatório de quais chaves de problemas foram encontradas.

Especificamente para o seu segundo problema:

Seu CI não precisa colocar nada em seu rastreador de bugs.O Bamboo não coloca nada no JIRA.Em vez disso, o pessoal da Atlassian forneceu um plug-in para o JIRA que fará uma chamada remota da API no Bamboo, fazendo a pergunta "Bamboo, a quais compilações estou relacionado (um problema do JIRA)?".Isto é provavelmente melhor explicado com um captura de tela.

O CC vem com um utilitário que avisa quando as compilações falham, provavelmente não vale a pena registrar a compilação com falha no FogBugz - você não precisa rastrear problemas que são resolvidos imediatamente (como acontece com a maioria das compilações quebradas).

Para fazer o contrário (o FogBugz mostrando checkins que corrigiram o problema), você precisa de um navegador de repositório baseado na web - o FogBugz é fácil de configurar para mostrar as alterações corretas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top