Как я могу использовать Maven для автоматизации нескольких сборок? - PullRequest
0 голосов
/ 10 октября 2018

Мне нужно управлять несколькими проектами, такими как A1..A5 и B1..B3.Каждый из B зависит от конкретного набора As.Так что я могу запустить maven вручную на каждом A, а затем на каждом B, чтобы создать все банки.Запуск Maven в одном из Bs даже не прекомпилирует требуемый As.

Есть ли какое-либо решение сделать это только с Maven без дополнительных инструментов, таких как сценарии оболочки или Ant?

И просто для предотвращенияответы типа «переместить папку A в папку B»: все папки находятся в одном каталоге на одном уровне.Это нельзя изменить, потому что над этими проектами работают разные команды, и у каждого проекта есть свой репозиторий GIT.

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Если As и B действительно разные проекты, вам понадобится какой-то другой инструмент, например Jenkins, для управления и организации ваших сборок.Особенно вы будете делать независимые выпуски As и B, поэтому вы хотите сохранить независимость сборок Maven.

0 голосов
/ 10 октября 2018

Вы можете заставить его работать так:

  • создать «сборочную сборку»: проект POM, в котором перечислены отдельные проекты A1 ... A5 и B1 ... B3как <modules>, который регистрируется в отдельном git-репозитории
  • в этом git-репозитории, настройте подмодули git, которые указывают на другие репозитории

При запуске сборки в проекте агрегатораMaven автоматически определит правильный порядок сборки на основе зависимостей включенных проектов.

Например, с учетом следующих зависимостей:

B1 uses A1 and A2
B2 uses A2 and A3
B3 uses A3, A4 and A5

Maven может предложить порядок сборкиA1, A2, B1, A3, B2, A4, A5, B3.

Используя параметры командной строки Maven, сборку агрегатора можно даже запустить как «перестроить A3 и все, что его использует», или «перестроить всенеобходим для B1, а затем для самого B1 ".

Однако все это может потребовать, чтобы отдельные проекты наследовали от POM агрегатора, что может или не может быть осуществимо в вашей ситуации. dв зависимости от того, как выглядят ваши POM.

Структура каталогов может выглядеть следующим образом: example multi-module project structure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...