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

Просто помните, что .equals(...) должен быть реализован классом, который вы пытаетесь сравнить. В противном случае, не так много смысла; версия метода для класса Object выполняет то же самое, что и операция сравнения: Объект # равно .

Единственный раз, когда вы действительно хотите использовать оператор сравнения для объектов, является Вы сравниваете Enums. Это происходит потому, что за один раз имеется только один экземпляр значения Enum. Например, с учетом перечисления

enum FooEnum {A, B, C}

У вас никогда не будет более одного экземпляра A за один раз, и то же самое для B и C. Это означает, что вы можете написать такой метод:

public boolean compareFoos(FooEnum x, FooEnum y)
{
    return (x == y);
}

И у вас не будет никаких проблем.

6
задан James A. Rosen 16 August 2008 в 16:09
поделиться

3 ответа

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

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

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

3
ответ дан 17 December 2019 в 00:17
поделиться

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

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

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

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

Конкретно к Вашей второй проблеме:

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

4
ответ дан 17 December 2019 в 00:17
поделиться

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

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

0
ответ дан 17 December 2019 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: