Мы разрабатываем продукт, который состоит из основной среды выполнения, совместно используемой продуктами (project1, project2, ...) и определенной частью проекта / продукта. Для каждого из этих «продуктов» мы поддерживаем несколько филиалов, потому что разные версии развернуты в полевых условиях и требуют обслуживания, а иногда даже имеют обратные порты.
Мы также используем JIRA в качестве системы отслеживания проблем, и у меня возникают проблемы с поиском правильного способа моделирования наших типов продуктов / отраслей. Элементы JIRA, которые кажутся актуальными в этом контексте, являются компонентами и версиями:
- мы используем компоненты, чтобы различать CORE, PRO1, PRO2 и т. Д.
- мы используем компоненты также, чтобы определить, какие ветви имеют отношение
- мы используем Fix Version, чтобы отслеживать, какая итерация решает проблему (итеративная разработка, двухнедельные итерации)
Это более или менее работает, но использование типа «Компонент» для ветвей является хакерским и имеет тот недостаток, что вы не можете «удалять» компоненты, только удаляя их. Мы решили пойти по этому пути, поскольку, если бы мы смешали итерации вместе с ветвями в поле Fix Version, мы больше не могли бы запрашивать «итерацию X и ветвь Y» (JIRA не поддерживает запросы AND).
Какие существуют лучшие практики для поддержки веток и отслеживания итераций в JIRA?
Немного статистики для контекста: мы говорим о примерно 4 типах продуктов и о 3 основных ветвях для каждого типа продуктов для обслуживания.