#jenkins #groovy
Вопрос:
Мой файл Дженкинса начинается примерно с этого:
pipeline {
environment {
stackName = "jenkins5"
}
agent any
options {
lock(resource: "${stackName}", inversePrecedence: false)
}
Когда я выполняю соответствующую работу, я получаю
groovy.lang.MissingPropertyException: No such property: stackName for class: groovy.lang.Binding
Как так получилось?
Я попытался использовать env.StackName, но он просто оценивается как «null» вместо «jenkins5».
Ответ №1:
Я полагаю, что это происходит из-за того, что Дженкинс читает параметры перед шагом среды.
Ответ №2:
Вероятно, вы можете перечислить в переменной, как показано ниже:
pipeline {
agent any
environment {
stackName = "jenkins5"
}
options {
lock(label: 'resource1', variable: 'stackName', , inversePrecedence: false)
}
для получения дополнительной информации : https://www.jenkins.io/doc/pipeline/steps/lockable-resources/