maven settings.xml дублирование в gitlab - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть мультимодульный проект Maven.Каждый модуль имеет свое собственное git-репо.Согласно документации gitlab каждый модуль должен иметь файл .m2 / settings.xml для CI / CD через .gitlab-ci.yml для работы.

Я бы хотел, чтобы у меня не было такого же .m2Файл /settings.xml в каждом модуле.Есть ли способ добиться этого?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Есть несколько способов достижения этого

  • Размещение файла settings.xml на веб-сервере
    Вы можете просто обслуживать файл settings.xml через Интернет.сервер и wget во время процесса CI / CD.

  • Клонировать файл с помощью GIT
    Вы, как вы уже предлагали, клонировать файлиз одного из подмодульных репозиториев.Существуют способы извлечения только частей репозитория, как обсуждено в этом вопросе

  • Использование настраиваемого док-контейнера с правильной конфигурацией Maven Вы можете создать свой собственный образ контейнера Docker для использования во время процесса CI / CD.Это изображение может использовать текущее изображение в качестве базового (например, с помощью инструкции Docker FROM) и добавлять свои собственные файлы settings.xml непосредственно в каталог .m2.Или в любой каталог, который вы хотите.
    Это, вероятно, будет самым элегантным решением, но также и тем, которое требует наибольшей работы по настройке.См. этот ресурс , чтобы узнать, как использовать образы докеров из частных реестров контейнеров во время GitLab CI / CD.

  • Очевидно, вы также можете просто скопировать файл в каждое из хранилищ
0 голосов
/ 14 февраля 2019

Вы можете передать файл settings.xml в качестве параметра сборки.

mvn clean install --settings path/to/your/settings.xml
...