- jenkins里定义环境变量:
env.var = 1
- powershell里获取环境变量:
${env: var}
无法直接改变环境变量,如${env: var}=2
,这样修改相当于给powershell内定义了新的变量${env: var},但是改变不了jenkins里script里定义的环境变量。
- 参考可以修改情况:
pipeline {
environment {
var1 = "somvalue"
}
stage('accessvariables') {
steps {
script {
env.var1 = powershell returnStdout: true, ''' write-host "changedValue" '''
echo "${env.var1}"
}
}
}
}
或者可以使用类似的方法返回多个值
pipeline {
environment {
var1 = "somvalue"
}
stage('accessvariables') {
steps {
script {
env.var1 = powershell returnStdout: true, ''' write-host "changedValue" '''
echo "${env.var1}"
}
script {
def newEnv = powershell returnStdout: true, '''
@{
var1 = $env:var1.ToUpper()
var2 = "hohoho"
} | ConvertTo-Json -Depth 10
'''
newEnv = readJSON text:newEnv
env.putAll(newEnv)
echo "${env.var1}"
echo "${env.var2}"
}
}
}
}