我有一个时髦的詹金斯管道步骤,我想将循环值作为参数传递给循环中的多行sh
脚本。但是参数没有被传递。
或者在詹金斯阶段是否有更好的方法来添加步骤?
for (int i = 0; i < elements.size(); i++) {
sh '''
cd terraform/
terraform init
terraform workspace select ${elements[i]}-${envtype}
terraform plan -var-file="./configs/${elements[i]}/var.tf"
'''
}
答案 0 :(得分:6)
似乎您应该使用"""
而不是'''
。 '''
是引号String
和doesn't support内插的三元组单。
答案 1 :(得分:2)
您需要一个triple double quoted string。您正在使用triple single quoted string。 Groovy中的任何单引号字符串都不具有字符串插值功能,因此'''${i}'''
打印${i}
,而"""${i}"""
打印3
(如果i = 3
)。