Лучшие практики Maven для управления версиями в разных ветках [разработка, qa / предварительная версия]

У меня есть несколько проектов, которые разрабатываются и выпускаются в разных ветках, а именно разработка и выпуск ]. Процесс работает довольно хорошо, но, к сожалению, у него есть некоторые недостатки, и мне было интересно, есть ли лучшая схема управления версиями, которую можно применить в моей ситуации.

Основная разработка происходит в ветке разработки (т. Е. Subversion trunk , но это не имеет большого значения), где команда разработчиков фиксирует свои изменения. После сборки и упаковки артефактов Дженкинс развертывает их в репозитории maven и на сервере приложений интеграции разработки. Это ОБЗОР РАЗРАБОТКИ и в основном представляет собой просто ветку функций , содержащую все разработанные функции в одной общей ветке:

pl.cyfrowypolsat.process-engine
process-engine
D.16-SNAPSHOT

Когда выполняется одно конкретное изменение бизнеса и запрашивается командой QA, это единственное изменение затем вносится объединены в ветку выпуска ( ветки / выпуск ). Дженкинс разворачивает полученный артефакт на сервере приложений QA:

pl.cyfrowypolsat.process-engine
process-engine
R.16-SNAPSHOT

Затем есть выпуск, который происходит через maven-release-plugin в версии программного обеспечения версии выпуска (которая создает тег / ветку обслуживания для быстрого исправления ошибок). (R.16-SNAPSHOT => R.16)

Ветви разработки и выпуска в настоящее время имеют версии D.16-SNAPSHOT и R.16-SNAPSHOT соответственно.Это позволяет разделять артефакты в репозитории maven, но создает проблему с различными механизмами maven, которые полагаются на стандартный стиль управления версиями maven. И это также нарушает управление версиями OSGI.

Как бы вы назвали и версировали артефакты maven в такой схеме? Есть ли способ лучше? Может быть, я мог бы внести некоторые изменения в структуры maven, кроме простого изменения схем управления версиями и именами? Но мне нужно, чтобы ветки SCM разработки и контроля качества (выпуска) были разделены.

Может ли maven-классификатор «разработка» / «производство» быть разумной альтернативой?

pl.cyfrowypolsat.process-engine
process-engine
16-SNAPSHOT
D

24
задан Mike Minicki 2 December 2011 в 20:56
поделиться