Подтвердить что ты не робот

Как управлять maven settings.xml на общем сервере jenkins?

У меня есть кластер Jenkins, который разделяют несколько команд, и я могу настроить задание сборки, но я не могу легко внести изменения в конфигурацию Jenkins.

Существует центральный менеджер хранилища maven nexus pro, но каждая команда/группа в этом очень большом многонациональном мире имеет свое собственное репо, публикация в репозиториях требует комбинации имени пользователя и пароля.

Это означает, что я должен настроить сервер Jenkins с параметром maven settings.xml, который уникален для команды, с которой я работаю, без испорчения конфигурации maven других пользователей кластера Jenkins.

Git - это репозиторий управления версиями.

  • В общем кластере Jenkins, как мне настроить maven settings.xml, который уникален для группы заданий построения или для одного задания? Каковы наилучшие методы обработки такого рода ситуаций?
4b9b3361

Ответ 1

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

Эти файлы настроек можно передать в сборку Maven с помощью опции "-s".

Ответ 2

Вы можете указать для каждого задания в части расширенных параметров Maven определенный путь seetings.xml

Ответ 3

Мы управляем всеми нашими узлами сборки, используя Puppet. Это дает вам больший контроль, чем просто settings.xml. Очень рекомендуется

Puppet - это программное обеспечение для автоматизации ИТ, которое помогает системным администраторам управлять инфраструктурой на протяжении всего жизненного цикла, от предоставления и настройки до управления исправлениями и соответствия. Используя Puppet, вы можете легко автоматизировать повторяющиеся задачи, быстро развертывать критические приложения и активно управлять изменениями, масштабируясь от 10 серверов до 1000, на месте или в облаке.

Ответ 4

Если ваша компания использует Nexus Pro (как вы уже упоминали), тогда ваш уникальный файл Maven settings.xml можно сохранить там и получить во время сборки с помощью модуля nexus-maven-plugin, как описано здесь: http://books.sonatype.com/nexus-book/reference/maven-settings.html

В сочетании с доступом на основе токенов (опять же, Nexus Pro делает это), вам не нужно неудержимо хранить пароли в settings.xml(см. https://books.sonatype.com/nexus-book/reference/usertoken.html)

Ответ 5

Хороший способ автоматизировать предоставление исполнителей maven с определенной конфигурацией, использует плагин ElasticBox Jenkins.

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

ElasticBox дает вам также гибкость при создании новых ведомых только тогда, когда это необходимо, и автоматически уничтожать их после указанного времени хранения.

Вот как подключить Jenkins к ElasticBox:

https://elasticbox.com/documentation/integrate-with-jenkins/jenkins-elasticbox-setup/#jenkins-configure-plugin

Вот как автоматизировать создание подчиненных Jenkins с помощью ElasticBox:

https://elasticbox.com/documentation/integrate-with-jenkins/jenkins-elasticbox-slaves/

Существует сообщение в блоге о том, как легко создавать и развертывать запросы GitHub с помощью плагина ElasticBox Jenkins:

https://elasticbox.com/blog/github-pull-requests-jenkinsplugin/