我不熟悉Groovy语法,但是花了一些时间研究它。我正在使用Jenkinsfile,并且有一个类似于以下内容的部分:
configFileProvider([/* ... */]) {
withCredentials([/* ... */]) {
sh 'my command'
}
}
Groovy语法是否可以使这种相同逻辑的简短表达?我不喜欢这里的缩进。
答案 0 :(得分:1)
您可以将任何闭包分配给变量并将其传递。因此,您可以重构为:
def shCommand = { withCredentials([...]) {
sh 'my command'
}}
configFileProvider([...], shCommand)
或
def shCommand = {
sh 'my command'
}
configFileProvider([...]) {
withCredentials([...], shCommand)
}