Mac*_*icz 17 groovy jenkins-pipeline
我想在Jenkins管道作业中使用Switch语句.
def version = "1.2"
switch(GIT_BRANCH) {
case "develop":
result = "dev"
break
case ["master", "support/${version}"]:
result = "list"
break
case "support/${version}":
result = "sup"
break
default:
result = "def"
break
}
echo "${result}"
Run Code Online (Sandbox Code Playgroud)
当GIT_BRANCH等于:
develop- 返回值是dev- 好的master- 返回值是list- 好的support/1.2- 返回值是sup- 为什么不list呢?Dón*_*nal 28
我的猜测是,该类型GIT_BRANCH是一个String,而"support/${version}"一个GString.如果你将后者转换为String它应该工作:
def version = "1.2"
switch(GIT_BRANCH) {
case "develop":
result = "dev"
break
case ["master", "support/${version}".toString()]:
result = "list"
break
case "support/${version}":
result = "sup"
break
default:
result = "def"
break
}
echo "${result}"
Run Code Online (Sandbox Code Playgroud)
两种字符串类型之间的差异在将它们相互比较时无关紧要,但它可能对其他类型的比较很重要,例如在您的代码中,您隐式地将a GString与元素进行比较List.
| 归档时间: |
|
| 查看次数: |
24292 次 |
| 最近记录: |