[英]how to use environment variable in powershell block and groovy block in Jenkins Pipeline
I am trying to access a environment variable created and used that in powershell block and changed that value and want to access again in grovvy section?我正在尝试访问在 powershell 块中创建和使用的环境变量并更改该值并想在 grovvy 部分再次访问? Is this feasible?这可行吗?
pipeline {
//adding environment varialbe
environment {
var1 = "somvalue"
}
stage ('accessvariables'){
steps{
script{
powershell '''
write-host "Prining environment variable here $env:var1"
$env:var1 = "changedValue"
'''
echo "${env.var1}" //its printing orginal somevalue I want changed value
}
}
}
}
https://www.jenkins.io/doc/pipeline/steps/workflow-durable-task-step/#powershell-windows-powershell-script https://www.jenkins.io/doc/pipeline/steps/workflow-durable-task-step/#powershell-windows-powershell-script
pipeline {
environment {
var1 = "somvalue"
}
stage('accessvariables') {
steps {
script {
env.var1 = powershell returnStdout: true, ''' write-host "changedValue" '''
echo "${env.var1}"
}
}
}
}
or you could use something like this to return multiple values或者你可以使用类似这样的东西来返回多个值
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}"
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.