Как работает плагин провайдера конфигурационных файлов Jenkins? - PullRequest
5 голосов
/ 02 мая 2019

Как работает плагин провайдера конфигурационных файлов?

У меня есть Jenkinsfile для декларативного конвейера (многоотраслевая сборка), который содержит:

configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
    sh 'mvn -B -s $MAVEN_SETTINGS -DWHERE="$WHERE" deploy'
}

Я попытался запустить это на двух разных установках Jenkins, одна из которых установлена ​​напрямую и работает как демон, а другая - как контейнер (jenkinsci / blueocean).

При прямом запуске плагин Jenkins Config File Provider может предоставить необходимые настройки.

provisioning config files...
copy managed file [Maven settings] to file:/var/lib/jenkins/workspace/redacted@tmp/config8989354118161621860tmp

При запуске под контейнером jenkinsci / blueocean происходит сбой:

provisioning config files...
not able to provide the file [ManagedFile: id=maven-settings, targetLocation=null, variable=MAVEN_SETTINGS], can't be resolved by any provider - maybe it got deleted by an administrator

Я создал управляемый файл maven-settings.xml с id maven-settings для blue / ocean, но он не поднимается. Я также попытался скопировать его в ~ / .m2 / settings.xml

В отличие от этого, в рабочей установке нет управляемых файлов (settings.xml или других), и я не могу найти какой-либо файл настроек maven в рабочей области. Я не уверен, что каталог @tmp. Он удаляется к моменту завершения сборки.

Итак, мой вопрос:

Где я должен поместить параметры, чтобы заставить configFileProvider передавать их для задания сборки jenkinsci / blueocean?

Как работает плагин провайдера конфигурационных файлов?

Я понятия не имею, что он делает, поэтому его сложно отлаживать. Источник здесь но Java, Maven & Jenkins не моя основная область.

Какая разница, когда сам Дженкинс работает как контейнер?

Этот ответ говорит о том, что поставщик файла конфигурации не нужен.

Существует аналогичный вопрос , который остается без ответа, но относится к плагину maven.

1 Ответ

2 голосов
/ 08 мая 2019

У меня есть часть ответа.Мой файл настроек maven не был выбран, потому что я использовал имя файла, а не файл Id , который отличается.

Оставшаяся часть вопроса - как оригинал?Экземпляр Jenkins может сгенерировать этот файл без указания его в качестве управляемого файла.

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