Скажите, что у вас есть проект, который использует maven и репозиторий подрывной деятельности. Он состоит из довольно большого количества модулей. До сих пор развитие происходило в багажнике, но теперь должны появляться ветви функций. Это должно быть настолько безболезненным, насколько возможно, учитывая, что все разработчики в команде должны начать использовать ветви функций.Есть ли способ использовать maven для автоматизации реинтеграции ветвей объектов?
Чтобы создать ветку, вы используете плагин выпуска, который удобно создает ветку для вас, правильно изменяет номера версий всех модулей и даже обновляет раздел <scm>
в родительском помпе.
Теперь, если вы хотите реинтеграцию функции ветви ствола, нет функциональных возможностей согласования в плагине релиза - вы должны сделать все вручную:
- Слияние с
reintegrate
флагом - Изменить номер версии во всех POMS
- Изменить раздел
<scm>
вручную - Commit
Это не только громоздко, но и подвержено ошибкам, если это делается вручную каждый раз (и это может быть частым при экстенсиональном использовании ветвей функций). Я знаю, что по крайней мере второй момент можно было бы автоматизировать с использованием release:update-versions
или version:set
, но должно быть больше, не так ли? Что мне не хватает?
Для этих типов задач, связанных с системой сборки, большинство магазинов, в которых я работал, записывают скрипты perl или python, загруженные в дом. Затем выполняются и другие задачи интеграции, такие как создание или удаление тестовых записей DNS для этой функции, отдельная копия файлов на dev-сервере и т. Д. – zanlok
Хм, это все еще звучит неудачно, потому что это нарушает maven/subversion экосистема. Похоже, что это может потребоваться для реализации пользовательского плагина maven. – David