6

Я использую cruisecontrol.rb для CI и FogBugz для отслеживания ошибок, но чем более общие ответы, тем лучше.Как интегрировать мою систему непрерывной интеграции с моей системой отслеживания ошибок?

Во-первых, это техническая проблема: существует ли API для FogBugz? Есть ли хорошие учебники или, еще лучше, предварительно написанный код?

Во-вторых, это процедурная проблема: что именно, должен ли CI поставить в трекер ошибок при разрыве сборки? Возможно:

Название: "# {последний коммиттер} нарушил сборку!"

тело: «# {следы ошибок}»

Я предполагаю, что это предполагает ответ на этот вопрос: должен ли я даже поставить CI врывается в мое отслеживание ошибок?

ответ

3

Все настройки CI, с которыми я работал, отправили электронное письмо (в список), но если вы этого захотите, особенно если ваша команда использует FogBugz как систему todo, вы можете просто открыть футляр в FogBugz 6. It has an API, который позволяет открывать дела. В этом случае вы можете просто настроить его для отправки электронной почты на адрес отправки электронной почты FogBugz, но API может позволить вам сделать больше, например, назначить случай последнему коммиттеру.

Brian Ответ на вопрос предлагает мне, если ваш CI обнаружит сбой в фиксации с номером дела, вы можете даже просто открыть существующий случай. Как и кодирование поля случая для каждой мелочи, тем не менее, есть точка, где автоматизация CI может быть «слишком умной», ошибаться и просто раздражать. Открывать новый случай может быть много.

И спасибо: это заставляет меня задаться вопросом, следует ли мне попробовать интегрировать нашу установку Chimps с нашей FogBugz!

0

CC поставляется с утилитой, которая предупреждает вас о сбоях сборки, вероятно, не стоит записывать неудачную сборку в FogBugz - вам не нужно отслеживать проблемы, которые немедленно устраняются (так как большинство сломанных сборок будет)

Чтобы перейти в другую сторону (FogBugz с указанием проверок, которые исправили проблему), вам нужен браузер веб-репозитория - FogBugz легко настроить, чтобы он отображал правильные изменения.

4

В моей компании мы недавно приняли (коммерческий) комплект Atlassian, включая JIRA для отслеживания проблем и Bamboo для сборки. Как и в мире Microsoft (я предполагаю, что мы магазин Java), если вы получаете все свои продукты от одного поставщика, вы получаете бонус к тесной интеграции.

Для примера о том, как они сделали интероперабельность, просмотрите их interoperability page.

Достаточно шиллинга. Вообще говоря, я могу подытожить их общий подход как:

  • Создайте проблемы в своем трекере ошибок (например: ключ выпуска PROJ-123).
  • Когда вы совершаете код, добавьте «PROJ-123» в свой комментарий коммита, чтобы указать, какая ошибка исправляется.
  • Когда ваш CI-сервер проверяет код, сканируйте комментарии коммита diff. Запишите все строки, соответствующие регулярному выражению ключей выпуска.
  • Когда сборка завершена, сгенерируйте отчет о том, какие ключи проблемы были найдены.

Специально для вашей второй задачи:

Ваш CI не не поставить что-либо в вашей системе отслеживания ошибок. Бамбук ничего не вкладывает в JIRA. Вместо этого, атласские люди предоставили плагин JIRA, который сделает удаленный вызов api в Bamboo, задав вопрос «Bamboo», с какими строками я связан (проблема JIRA)? ». Вероятно, это лучше всего объяснить с помощью screenshot.