Я пытаюсь установить пароль в jenkins с помощью параметра в разделе «Создать среду», который можно использовать в моем тесте, чтобы получить пароль и использовать его. Это вариант, который я проверяю в «Вводить пароли в сборку как переменные среды». Проблема в том, что я теряю эти значения после запуска начального задания. Таким образом, мои добавленные значения исчезают после запуска начального задания. Кто-нибудь сталкивался с этой проблемой? Как сделать его постоянным, чтобы каждый раз, когда я мог получать эти pwd в своем тестовом коде?
Внедрить пароли в сборку как переменные окружения
Ответы (2)
После запуска начального задания все внесенные вручную изменения в сгенерированное задание будут потеряны. Это предполагаемое поведение плагина Job DSL.
Чтобы использовать пароли в задании, сгенерированном Job DSL, используйте плагин Credentials для сохраните пароль (или любой секрет) в Jenkins. Затем используйте плагин привязки учетных данных, чтобы сопоставить пароль со средой. переменная в работе. Взгляните на вики Job DSL, чтобы найти пример а>.
@daspilker , @JesseGlick, большое спасибо за ваши ответы. Это помогло мне написать мой первый блок конфигурации в Jenkins. Упоминание моих действий может помочь другим, столкнувшимся с той же проблемой.
Поскольку мы используем Job DSL 1.27, я не могу использовать учетные данные-привязку напрямую. Поэтому создал блок конфигурации и ввел необходимые переменные через мой скрипт .groovy.
Примечание. Вам необходимо взять преобразованное значение для «credentialsId» из «*****/job/config.xml», если вы получаете сообщение об ошибке «credentialsId не найден».
static def credentialsBinding = { String userNameVar, String passwordVar, String credId, wrapperContext ->
def nodeBuilder = new NodeBuilder()
wrapperContext.wrapperNodes << nodeBuilder.'org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper'(plugin: "[email protected]") {
bindings {
'org.jenkinsci.plugins.credentialsbinding.impl.UsernamePasswordMultiBinding' {
usernameVariable userNameVar
passwordVariable passwordVar
credentialsId credId
}
}
}
}