Сведения о вопросе

Gaukhar

04:45, 4th August, 2020

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

Просмотров: 511   Ответов: 3

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

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

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

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

Тело: "# {следы ошибок }"

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



  Сведения об ответе

lool

12:16, 28th August, 2020

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

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

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

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

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

Ваш CI не должен ничего вставлять в свой баг-трекер. Бамбук ничего не вкладывает в JIRA. Вместо этого Атласские люди предоставили плагин для JIRA, который сделает удаленный вызов api в Bamboo, задавая вопрос "Bamboo, to what builds am I (a JIRA issue) related?". Это, вероятно, лучше всего объяснить с помощью скриншота .


  Сведения об ответе

pumpa

16:20, 6th August, 2020

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

Ответ Брайана подсказывает мне, что если ваш CI найдет ошибку в фиксации, которая имела номер дела, вы можете даже просто заново открыть существующее дело. Однако, как и кодификация поля прецедента для каждой мелочи, есть момент, когда CI automation может быть "too smart," ошибиться и просто раздражать. Открыть новое дело может быть очень много.

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


  Сведения об ответе

lats

01:34, 23rd August, 2020

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться