Bar*_*oży 0 jenkins jenkins-pipeline
它是脚本化的管道:
stage('check negations') {
def someVar = false
println someVar
println ! someVar
env.skip = false
println env.skip
println ! env.skip
}
Run Code Online (Sandbox Code Playgroud)
我期望它给出
false
true
false
true
Run Code Online (Sandbox Code Playgroud)
但它给出了
false
true
false
false
Run Code Online (Sandbox Code Playgroud)
如何?
它对于非环境变量可以正常工作。当 env.skip 设置为 true 时,它甚至可以正常工作。如何?
env 变量始终是字符串。因此,当您执行
env.skip = false
env.skip 时,将包含字符串“false”,其布尔值为 true。
你可以做:
env.skip = false
println Boolean.parseBoolean(env.skip)
println ! Boolean.parseBoolean(env.skip)
Run Code Online (Sandbox Code Playgroud)
另外,如果这个env.skip是布尔型作业参数,则可以通过 访问它
params.skip。在这种情况下,您将获得其布尔值。
| 归档时间: |
|
| 查看次数: |
598 次 |
| 最近记录: |