#jenkins #groovy #jenkins-groovy
#дженкинс #groovy #дженкинс-заводной
Вопрос:
Я работал над сценарием Дженкинса groovy. Я определил одну глобальную переменную в начале скрипта, которая используется во всем groovy. Пользователи, использующие этот groovy, могут изменять значение глобальной переменной в соответствии со своими требованиями.
Теперь проблема в том, что я хочу установить значение по умолчанию для глобальной переменной на случай, если пользователь оставил глобальную переменную пустой, как я могу добиться этого сценария в Groovy?
Заранее благодарю. ниже показано, как выглядит мой groovy
String var1 = " "
String var2 = " "
pipeline {
agent any
stages {
stage('Stage 1') {
steps {
script {
if(var1 == " ") {
var1 = <default value>
}
}
}
}
stage('Stage 2') {
steps {
script {
docker login <here i want to use default var1>
}
}
}
}
}
Ответ №1:
if(!MY_GLOBAL_VAR){
MY_GLOBAL_VAR = <default value>
}
или более явный
if(MY_GLOBAL_VAR == null){
MY_GLOBAL_VAR = <default value>
}
Комментарии:
1. Спасибо за комментарий, смелм, но ниже показано, как выглядит мой groovy, он изменил значение только на этом конкретном этапе, но я хочу, чтобы моя переменная была перезаписана для всего скрипта Строка var1 = » » Строка var2 = » » конвейер { агент любых этапов { этап (‘Этап 1’) {шаги { script { if(var1 == » «) { var1 = <значение по умолчанию> } } } } этап (‘Этап 2’) { шаги { script { docker login <здесь я хочу использовать значение по умолчанию var1> } } } } }
2. Не могли бы вы попробовать опустить объявление типа (оставить outthe
String
), это сделало бы его глобальным
Ответ №2:
if(!MY_GLOBAL_VAR){
MY_GLOBAL_VAR = <default value>
}
или более явный
if(MY_GLOBAL_VAR){
MY_GLOBAL_VAR = <default value>
}
Если вы запускаете это в декларативном конвейере, вам нужно окружить его script{}
блоком.