У меня отличный шаг конвейера Дженкинса, и я хочу передать значение цикла в качестве параметра многострочному скрипту 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"
    '''
}
4
Pat 25 Сен 2018 в 06:30

2 ответа

Лучший ответ

Похоже, вам следует использовать """ вместо '''. ''' - это тройные одинарные кавычки String, а не не поддерживает интерполяцию.

6
Opal 25 Сен 2018 в 05:56

Вам нужна строка с тройными двойными кавычками. Вы используете строку с тройными одинарными кавычками. Любая строка в одинарных кавычках в Groovy не поддерживает строковую интерполяцию, поэтому '''${i}''' печатает ${i}, а """${i}""" печатает 3 (если i = 3).

2
Michael 25 Сен 2018 в 05:57