【问题标题】:How to set Jenkins Declarative Pipeline environments with Global Variables?如何使用全局变量设置 Jenkins 声明式管道环境?
【发布时间】:2018-01-26 08:13:01
【问题描述】:
我正在尝试这样做
pipeline {
agent any
environment {
LOCAL_BUILD_PATH=env.WORKSPACE+'/build/'
}
stages {
stage('Stuff'){
steps{
echo LOCAL_BUILD_PATH
}
}
}
}
结果:
空/构建/
如何使用全局环境来创建我的环境?
【问题讨论】:
标签:
jenkins
groovy
environment-variables
jenkins-pipeline
【解决方案1】:
你可以使用这样的东西......
LOCAL_BUILD_PATH="${env.WORKSPACE}/build/"
记住:字符串中的变量使用"(双引号)
【解决方案2】:
我认为你应该使用:
steps {
echo "${env.LOCAL_BUILD_PATH}"
}
在“环境”步骤中,您要定义环境变量,以后可以通过 env.your-variable-name
访问这些变量
【解决方案3】:
所以这是我最终使用的方法
pipeline {
agent {
label 'master'
}
stages {
stage ("Setting Variables"){
steps {
script{
LOCAL_BUILD_PATH = "$env.WORKSPACE/build"
}
}
}
stage('Print Varliabe'){
steps{
echo LOCAL_BUILD_PATH
}
}
}
}
【解决方案4】:
这是一个范围问题。在顶部声明变量并将其设置为空。像
def var = null
您应该能够在块/闭包/阶段中设置值并在另一个中访问它