Как интегрировать мою систему непрерывной интеграции с моей системой отслеживания ошибок?

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

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

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

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

Тело: "# {error traces}"

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

16.08.2008 16:09:16
3 ОТВЕТА
РЕШЕНИЕ

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

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

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

3
23.05.2017 12:13:34

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

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

0
16.08.2008 16:23:57

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

Для примера того, как они сделали совместимость, посмотрите их страницу совместимости .

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

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

Специально для вашей второй проблемы:

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

4
16.08.2008 18:02:03