我创建了一个测试詹金斯工作流程。这项工作具有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
我有以下问题:
env.TESTVAR=testValue
?我有testValue
个参数,没有TESTVALUE
。 jenkins参数(从Groove代码以 env .VARNAME访问)是否不区分大小写?params.TESTVAR=null
? jenkins参数(从Groove代码以 params .VARNAME访问)是否区分大小写?env.testVar=testValue-changed
之后却testVar=testValue-changed
和env.testVar = env.testVar + '-changed'
,但是为什么params.testVar=testValue
。为什么值没有更改?答案 0 :(得分:0)
基本上,将参数化构建的参数复制到节点的env ...,并且已知环境变量不区分大小写,这是上面提到的bug。
参数只是输入参数的快照,如您所见,它是不变的且区分大小写。