Как Определить Переменную В Декларативном Конвейере Jenkins?

  • Автор темы Иулианна
  • Обновлено
  • 21, Oct 2024
  • #1

Я определил переменную в декларативном сценарии конвейера Jenkins, но у меня возникли проблемы с простым объявлением переменной.

Вот мой сценарий:

org.codehaus.groovy.control.MultipleCompilationErrorsException:
startup failed:
WorkflowScript: 5: Expected a step @ line 5, column 13.

def foo = "foo"

^

но показывает ошибку:

pipeline {

agent none

stages {

stage("first") {

def foo = "foo" // fails with "WorkflowScript: 5: Expected a step @ line 5, column 13."

sh "echo ${foo}"

}

}
}

#jenkins #jenkins-pipeline

Иулианна


Рег
16 Apr, 2011

Тем
78

Постов
224

Баллов
664
  • 25, Oct 2024
  • #2

Переменная должна быть определена в

pipeline {

agent none

stages {

stage("first") {

environment {

FOO = "bar"

}

steps {

// prints "bar"

echo "${env.FOO}"

// or echo "${FOO}"

}

}

stage("second") {

steps {

// prints "null"

echo "${env.FOO}"

// or echo "${FOO}", pipeline would fail here

}

}

}
}
section.

pipeline {

agent none

environment {

FOO = "bar"

}

stages {

stage("first") {

steps {

echo "${env.FOO}"

// or echo "${FOO}"

}

}

}
}



Вы также можете использовать блок среды для введения переменной среды.

(Примечание:

sh
is not needed for echo)

pipeline {

agent none

stages {

stage("first") {

script {

foo = "bar"

}

sh "echo ${foo}"

}

}
}

Вы даже можете определить переменную env внутри блока stage, чтобы ограничить область действия:

script
 

Pauling


Рег
05 Mar, 2011

Тем
74

Постов
188

Баллов
588
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно