我正在尝试在一个文件夹下创建多个管道作业。在此文件夹下,我创建了一些文件夹属性。我很难在工作的多个阶段使用此文件夹属性。
使用的插件:https://wiki.jenkins.io/display/JENKINS/Folder+Properties+Plugin
def region
pipeline {
agent any
stages {
stage('Assign values to global properties') {
steps {
withFolderProperties{
region = "${env.appRegion}"
}
}
}
stage('Print') {
steps {
print(region)
}
}
}
}
错误:
Expected a step @ line 8, column 21.
region = "${env.appRegion}"
预先感谢
答案 0 :(得分:1)
region = "${env.appRegion}"
不是步骤或指令的管道保留名称。这是古怪的说法。您应该将它们放在script
步骤中。如果您使用脚本管道,则可以在任何地方放置各种常规语句。但是对于声明性管道,任何常规语句都应包含在script
步骤中。
steps {
script {
withFolderProperties{
region = "${env.appRegion}"
}
}
}
steps {
withFolderProperties{
script {
region = "${env.appRegion}"
}
}
}
我不确定上面的哪个代码块可以工作,但是您可以尝试一下。
答案 1 :(得分:0)
#!groovy
def CI_NAMESPACE = ""
withFolderProperties{
CI_NAMESPACE = "${env.CI_NAMESPACE}"
}
println "CI_NAMESPACE = ${CI_NAMESPACE}"
if (CI_NAMESPACE == '' || CI_NAMESPACE == null || CI_NAMESPACE == 'null') {
currentBuild.result = 'ABORTED'
error('Not defined CI_NAMESPACE in Folder properies plugin!')
}
pipeline {
environment {
CI_NAMESPACE = "${CI_NAMESPACE}"
}
stages {
stage('Test') {
steps {
echo "CI_NAMESPACE: ${env.CI_NAMESPACE}"
}
}
}
}