Моя команда использует ветки функций для реализации новых функций и постоянно развертывает сборки моментальных снимков в удаленном репо для использования нашими пользователями. Таким образом, «развертывание» на самом деле означает только «распространение в удаленный репозиторий 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?