我想访问在执行 Power Shell 的步骤中定义的普通变量。 我们可以使用 $env 访问环境变量,但是如何访问普通步骤变量?
stages {
stage ('sometask') {
steps{
script {
def someString = 'Hi'
withCredentials(...) {
def out = powershell(returnStdout: true, script:
'''
// Access someString
''')
println out
}
}
}
}
最佳答案
这可能不是最优雅的方式,但我是这样做的: (我将使用您的相同示例)
stages {
stage ('sometask') {
steps{
script {
def someString = 'Hi'
withCredentials(...) {
def out = powershell(returnStdout: true, script:
'''
PowerShellCommands....
Write-Host ''' + someString + '''
someMorePowerShellCommands
''')
println out
}
}
所以基本上我所做的是连接
的值someString
在脚本中间,例如,如果您需要传递更多变量,则需要遵循相同的逻辑:
''' some script code ''' + variableName +
''' some more script code''' + anotherVariableName +
''' evenMoreScriptCode '''
在我的例子中,我使用的是配置参数而不是
variableName
我正在使用
config.webURL
例如。
希望这对您有所帮助。
CN
关于shell - Jenkins Pipeline Access 阶段步骤变量在 powershell 执行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46464945/