Как непрерывно создавать и развертывать ветки функций с помощью Maven?

Моя команда использует ветки функций для реализации новых функций и постоянно развертывает сборки моментальных снимков в удаленном репо для использования нашими пользователями. Таким образом, «развертывание» на самом деле означает только «распространение в удаленный репозиторий Maven». В настоящее время мы запускаем сборки с непрерывной интеграцией только для основной ветки, а не для веток функций по следующей причине :мы используем Maven для сборки наших проектов и распространения JavaDoc и исходных кодов вместе с JAR.

Теперь я планировал добавить классификатор в каждую сборку ветвей функций и ожидал, что он будет использоваться при создании и развертывании артефактов, подобных этому :

  • . Филиал :мастер
  • Классификатор :нет
  • Артефакты:foo-${version}.jar, foo-${version}-sources.jar,foo-${version}-javadoc.jar

  • Отвод :функция -X

  • Классификатор :моя характеристика
  • Артефакты:foo-${version}-feature.jar, foo-${version}-sources-feature.jar,foo-${version}-javadoc-feature.jar

Меня не волнует точное название артефакта, мне просто нужны отдельные артефакты main, source и JavaDoc для функциональной ветки. Оказывается, ни подключаемый модуль JavaDoc, ни исходный подключаемый модуль не считают классификатор настроенным и, таким образом, эффективно перезаписывают артефакты, созданные для моей основной сборки.

Я действительно не хочу менять артефакт, хотя это, вероятно, решит проблему. Как вы подходите к ветвям функций и непрерывной интеграции с Maven?

35
задан Oliver Drotbohm 10 July 2012 в 12:46
поделиться