如何将变量VAR_A传递给jenkins管道中的嵌入式PowerShell脚本?
e.g。
def VAR_A = 'test'
def mystatus = powershell(returnStatus: true, script: '''
Write-Host "My result: '$VAR_A'" '''
withEnv(["VAR_A=test"]) {
def mystatus = powershell(returnStatus: true, script: '''
Write-Host "My result: '$VAR_A'" '''
}
两者都得到以下输出结果 我的结果是:''
注意:我更喜欢在jenkinsfile中定义我的powershell脚本以保持简单。
答案 0 :(得分:6)
试试这个:
node {
powershell '''
$VAR_A = 'test'
Write-Host "My result: '$VAR_A'"
'''
withEnv(["VAR_A=envtest"]) {
powershell '''
Write-Host "My result is empty: '$VAR_A'"
Write-Host "My env result: '$env:VAR_A'"
'''
}
}
输出结果为:
My result: 'test'
My result is empty: ''
My env result: 'envtest'
这是在Jenkins 2.73.1上测试的。
请注意:
$VAR_A = 'test'
在第一个powershell '''...'''
env:
(请参阅Microsoft Docs中的about_Environment_Variables)