Jenkins管道中的参数是否区分大小写?

时间:2018-12-17 10:28:51

标签: jenkins groovy jenkins-pipeline

我创建了一个测试詹金斯工作流程。这项工作具有String参数-' testVar '

Jenkins文件代码:

println("env.TESTVAR=" + env.TESTVAR)
println("testVar: " + testVar)
println("perform env.testVar = env.testVar + '-changed'")
env.testVar = env.testVar + '-changed'
println("env.testVar=" + env.testVar)
println("params.testVar=" + params.testVar)
println("params.TESTVAR=" + params.TESTVAR)
println("testVar=" + testVar)

我以testVar等于“ testValue”开始工作。

詹金斯输出:

[Pipeline] echo
env.TESTVAR=testValue
[Pipeline] echo
testVar: testValue
[Pipeline] echo
perform env.testVar = env.testVar + '-changed'
[Pipeline] echo
env.testVar=testValue-changed
[Pipeline] echo
params.testVar=testValue
[Pipeline] echo
params.TESTVAR=null
[Pipeline] echo
testVar=testValue-changed
[Pipeline] End of Pipeline

我有以下问题:

  1. 为什么使用env.TESTVAR=testValue?我有testValue个参数,没有TESTVALUE。 jenkins参数(从Groove代码以 env .VARNAME访问)是否不区分大小写
  2. 为什么使用params.TESTVAR=null? jenkins参数(从Groove代码以 params .VARNAME访问)是否区分大小写
  3. 为什么执行env.testVar=testValue-changed之后却testVar=testValue-changedenv.testVar = env.testVar + '-changed',但是为什么params.testVar=testValue。为什么值没有更改?

1 个答案:

答案 0 :(得分:0)

有一个open bug for this one

基本上,将参数化构建的参数复制到节点的env ...,并且已知环境变量不区分大小写,这是上面提到的bug。

参数只是输入参数的快照,如您所见,它是不变的且区分大小写。