Как работает плагин провайдера конфигурационных файлов?
У меня есть 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.