6

Uso cruisecontrol.rb para CI y FogBugz para el seguimiento de errores, pero cuanto más generales sean las respuestas, mejor.¿Cómo integro mi sistema de integración continua con mi sistema de seguimiento de errores?

Primero está el problema técnico: ¿hay una API para FogBugz? ¿Hay buenos tutoriales, o mejor aún, código pre-escrito?

En segundo lugar está el problema de procedimiento: ¿qué debería exactamente el IC poner en el rastreador de errores cuando se rompe la compilación? Quizás:

Título: "# {last committer} rompió la compilación!"

cuerpo: "# {} rastros de error"

supongo que esto presupone la respuesta a esta pregunta: ¿debería incluso poner CI se rompe en mi seguimiento de fallos?

Respuesta

3

Todas las configuraciones de CI con las que he trabajado envían un correo electrónico (a una lista), pero si lo desea -especialmente si su equipo usa FogBugz como un sistema de tareas pendientes-, podría abrir un caso en FogBugz 6. It has an API que le permite abrir casos. De hecho, puede configurarlo para enviar el correo electrónico a su dirección de envío de correo electrónico FogBugz, pero la API podría permitirle hacer más, como asignar el caso al último committer.

La respuesta de Brian me sugiere que si su CI encuentra un error en una confirmación que tenía un número de caso, incluso podría volver a abrir el caso existente. Sin embargo, al igual que la codificación de un campo de caso para cada pequeña cosa, hay un punto donde la automatización de CI podría ser "demasiado inteligente", equivocarse y simplemente ser molesto. Abrir un nuevo caso podría ser suficiente.

Y gracias: esto me hace preguntar si debería intentar integrar nuestra configuración Chimps con nuestro FogBugz!

0

CC viene con una utilidad que le advierte cuando se construye no, es probable que no vale la pena registrar el no construir en FogBugz - no es necesario realizar un seguimiento de problemas que se resuelven de inmediato (ya que la mayoría roto construye será)

Para ir al revés (FogBugz muestra comprobaciones que solucionaron el problema) necesita un navegador de repositorio basado en web - FogBugz es fácil de configurar para que muestre los cambios correctos.

4

En mi empresa, recientemente hemos adoptado la pila Atlassian (comercial), que incluye JIRA para el seguimiento de problemas y Bamboo para compilaciones. Al igual que en el mundo de Microsoft (supongo, somos una tienda de Java), si obtienes todos tus productos de un único proveedor, obtienes la ventaja de una integración estrecha.

Para ver un ejemplo de cómo han hecho la interoperabilidad, vea su interoperability page.

Suficiente chelín. En términos generales, puedo resumir su enfoque general como:

  • Cree problemas en su rastreador de errores (por ejemplo, clave de problema de PROJ-123).
  • Cuando ingrese el código, agregue "PROJ-123" a su comentario de confirmación para indicar qué error corrige este cambio de código.
  • Cuando su servidor CI verifica el código, escanee los comentarios de confirmación de los diffs. Registre cualquier cadena que coincida con la expresión regular de las claves de su problema.
  • Cuando se complete la compilación, genere un informe de las claves de problema encontradas.

específicamente a su segundo problema:

Su CI no no tiene que poner nada en su seguimiento de errores. Bamboo no pone nada en JIRA. En cambio, los amigos de Atlassian le han proporcionado un complemento a JIRA que hará una llamada de API remota a Bamboo, haciendo la pregunta "¿Bamboo, a qué estructuras estoy relacionado (un problema de JIRA)?". Esto probablemente se explica mejor con screenshot.

Cuestiones relacionadas