2012-06-22 2 views
2

У нас есть 3 команды, разрабатывающие 3 разных проекта (.NET), и есть один проект с общим кодом и управляет SharedLibrary. Каждая команда ссылается на нее, используя субрепозитор в Mercurial. Каждой команде разрешено вносить изменения в SharedLibrary для исправления ошибок в своих проектах. Таким образом, существует вероятность, что исправление ошибки в одном проекте может привести к ошибке во втором.Совместное управление версиями и отслеживание проблем

Мы используем JIRA для отслеживания проблем, и есть 4 проекта (для каждой команды и для SharedLibrary).

Итак, может ли кто-нибудь предложить рабочий процесс, который уменьшает вероятность сбоя интеграции (одна команда нарушает работу другого командного проекта), и в случае неудачи помогает выявить ее как можно скорее?

Вопросы для рассмотрения:

  1. ли нам нужна версия для SharedLibrary в JIRA? Как его следует поддерживать?

  2. Кто и когда проверяет изменения, внесенные в SharedLibrary?

  3. Что такое лучший способ организовать филиалы в hg?

  4. Каков наилучший способ организовать рабочий процесс JIRA? В каком проекте в JIRA поданы проблемы с ShareLibrary?

Любая помощь или примеры рабочих процессов/решений для подобных ситуаций высоко оценены.

ответ

0

Пара предложений:

  1. Да, вы должны поддерживать версии для SharedLibrary так же, как вы делаете ваши другие проекты. Вы должны связать выпуск каждого из ваших трех проектов с определенной версией SharedLibrary. Если вы просто разрешите любой из трех проектных групп изменить его, не обращаясь к другим командам, у вас будет высокий риск внесения несовместимых изменений.
  2. Если SharedLibrary не поддерживается конкретным человеком или командой, я предлагаю иметь перекрестную функциональную группу, состоящую из представителей от каждой проектной группы, которая отвечает за просмотр обновлений в SharedLibrary. Они могут использовать JIRA для отслеживания проблем по версии. Чтобы убедиться, что изменения не нарушают другие проекты, у вас есть полный набор тестов для каждого проекта, который вы можете запускать на сервере непрерывной интеграции, таком как Jenkins.
  3. У меня нет особых предложений здесь.
  4. Я бы сохранил SharedLibrary как отдельный проект JIRA.
Смежные вопросы