Как я могу создать сборку Jenkins из одного модуля в многомодульной сборке Maven из Subversion?

У меня большая мультимодульная сборка Maven, созданная в моем Jenkins. Он настроен для инкрементных построений.

При запуске он анализирует все POM и вычисляет, что ему нужно построить.

В настоящее время он настроен на запуск изменений SCM.

Я хотел бы сделать эту сборку, чтобы я мог сделать следующее:

  • Запустите его вручную. Когда я это сделаю, его поэтапное поведение будет функционировать так же, как сегодня.
  • Запустить сборку с крюка фиксации Subversion. Я хотел бы знать, что если я столкнулся с проблемой создания крюка фиксации с помощью отличных инструкций, это не приведет к тому, что сборка будет перейдите на ненужные длины, чтобы опросить SCM или выполнить другую работу, которая оказывается ненужной из-за того, что крюк фиксации сообщает ему, что изменилось.

Я упоминаю второй пункт, потому что, глядя на документацию, это, похоже, просто выталкивает общую сборку и позволяет ей делать это. (Возможно, я ошибаюсь.) Я предпочел бы, чтобы он рассказал Дженкинсу точно, что изменилось, и Дженкинс просто "знает", на какие модули эти измененные пути репозитория сопоставляются, так что Дженкинсу не нужно делать опрос или дополнительный pom.xml проанализируйте его.

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

Ответ 2

Пробовал ли вы параметр "Добавочная сборка только с измененными модулями" в разделе "Сборка" в конфигурации проекта? В этом случае репозиторий будет уведомлять Дженкинса о внесенном изменении, плагин SCM будет проверять файлы, а плагин Maven будет попробовать, чтобы угадать, какие модули нуждаются в перестройке. Он работает в большинстве случаев в моей среде, хотя это не 100% доказательство.