Трубопровод Jenkins - maven установка проектов зависимостей - PullRequest
1 голос
/ 16 мая 2019

Я устанавливаю CI / CD со следующими компонентами: -Bitbucket -Jenkins -Docker -Maven

Требуемый поток:

  1. Передача кода в Bitbucket
  2. Webhook Jenkins об изменениях
  3. Конвейер Jenkins выполняет следующие действия:
    • mvn устанавливает 2 проекта, SDK + API
    • принимает jar API и образ сборки
    • отправляет изображение в хранилище
    • развертывает службу или контейнер в докере

Где я в данный момент застрял, это:

У меня естьPROJECT-A, в котором есть несколько проектов зависимостей, которые должны быть установлены maven, прежде чем maven установит PROJECT-A и создаст его образ.

Может кто-нибудь посоветовать, что является лучшей практикой здесь?

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

<modules>
    <module>project1</module>
    <module>project2</module>
    <module>project3</module>
  </modules>

1 Ответ

0 голосов
/ 20 мая 2019

Даже если бы ваш проект был структурирован по-другому с родительским ПОМ, откуда взялись эти дополнительные проекты?В общем случае mvn install делает что-то другое, чем вы подразумеваете в этом вопросе -

install: установить пакет в локальный репозиторий, для локального использования в качестве зависимости в других проектах

Лучшей практикой здесь (и отсутствующим элементом) является хранилище пакетов.Например, ваша частная артефакт или нексус.Вы бы mvn install сделали все пакеты к нему, и maven автоматически разрешил бы зависимости от него, основываясь на его POM и соответствующей конфигурации.

...