У меня есть конвейерное задание Jenkins multi branch , которое использует секретное значение в Jenkinsfile
:
pipeline {
agent any
stages {
stage('Test') {
steps {
echo "DOCKER_REGISTRY_USER is ${env.DOCKER_REGISTRY_USER_NSV}"
}
}
}
}
Секретное значение хранится в Credentials Manager в виде секретного текста с идентификаторомDOCKER_REGISTRY_USER_NSV
:
Я пытаюсь прочитать это значение в Jenkinsfile, как показано выше, но я получаю следующий вывод, который выводит значение null
для моего секрета:
[Pipeline] }
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Test)
[Pipeline] echo
DOCKER_REGISTRY_USER is null
[Pipeline] sh
Я также пытался ссылаться на секретный текст в моем конвейере следующим образом:
echo "DOCKER_REGISTRY_USER is ${DOCKER_REGISTRY_USER_NSV}"
Но затем я получаю эту ошибку при запуске задания Jenkins:
groovy.lang.MissingPropertyException: No such property: DOCKER_REGISTRY_USER_NSV for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:264)
Я думаю, что мне нужно привязать эти учетные данные к работе, но я не вижу возможности сделать это для работы с несколькими ветвями трубопровода, как это можно сделать для работы по фристайлу или трубопроводу.
Как использовать секретные учетные данные в задании Multi Branch Pipeline?