Ответ 1
Я бы рекомендовал использовать плагин файла конфигурации, предоставляет пользовательский интерфейс для редактирования одного или нескольких файлов настроек Maven.
Эти файлы настроек можно передать в сборку Maven с помощью опции "-s".
У меня есть кластер Jenkins, который разделяют несколько команд, и я могу настроить задание сборки, но я не могу легко внести изменения в конфигурацию Jenkins.
Существует центральный менеджер хранилища maven nexus pro, но каждая команда/группа в этом очень большом многонациональном мире имеет свое собственное репо, публикация в репозиториях требует комбинации имени пользователя и пароля.
Это означает, что я должен настроить сервер Jenkins с параметром maven settings.xml, который уникален для команды, с которой я работаю, без испорчения конфигурации maven других пользователей кластера Jenkins.
Git - это репозиторий управления версиями.
Я бы рекомендовал использовать плагин файла конфигурации, предоставляет пользовательский интерфейс для редактирования одного или нескольких файлов настроек Maven.
Эти файлы настроек можно передать в сборку Maven с помощью опции "-s".
Вы можете указать для каждого задания в части расширенных параметров Maven определенный путь seetings.xml
Мы управляем всеми нашими узлами сборки, используя Puppet. Это дает вам больший контроль, чем просто settings.xml. Очень рекомендуется
Puppet - это программное обеспечение для автоматизации ИТ, которое помогает системным администраторам управлять инфраструктурой на протяжении всего жизненного цикла, от предоставления и настройки до управления исправлениями и соответствия. Используя Puppet, вы можете легко автоматизировать повторяющиеся задачи, быстро развертывать критические приложения и активно управлять изменениями, масштабируясь от 10 серверов до 1000, на месте или в облаке.
Если ваша компания использует 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)
Хороший способ автоматизировать предоставление исполнителей maven с определенной конфигурацией, использует плагин ElasticBox Jenkins.
Вам нужно создать поле для подчиненного Maven, которое определяет все переменные настройки и файлы, которые будут использоваться им, и выберите предпочитаемый поставщик облачных вычислений для его развертывания.
ElasticBox дает вам также гибкость при создании новых ведомых только тогда, когда это необходимо, и автоматически уничтожать их после указанного времени хранения.
Вот как подключить Jenkins к ElasticBox:
Вот как автоматизировать создание подчиненных Jenkins с помощью ElasticBox:
https://elasticbox.com/documentation/integrate-with-jenkins/jenkins-elasticbox-slaves/
Существует сообщение в блоге о том, как легко создавать и развертывать запросы GitHub с помощью плагина ElasticBox Jenkins:
https://elasticbox.com/blog/github-pull-requests-jenkinsplugin/