Как вставить переменную в команду sh aws в сценарии groovy конвейера jenkins?

Как я могу передать переменные в приведенную ниже команду sh? Это часть скрипта конвейера jenkins, который я использую:

Работает так же, как когда я использую значения напрямую, как показано ниже. То есть с тестом и :us-west-2

sh '''
$(aws --profile test ecr get-login --no-include-email --region us-west-2)
'''

Не работает, когда я пытаюсь параметризовать профиль и регион, как показано ниже:

sh '''
$(aws --profile "${params.profile}", ecr get-login --no-include-email --region "${params.region}")
'''

ОШИБКА:

[Pipeline] sh
/opt/slave_home/workspace/test1@tmp/durable-de1d1e87/script.sh: 2: /opt/slave_home/workspace/test1@tmp/durable-de1d1e87/script.sh: Bad substitution
+ 

person Max    schedule 25.08.2020    source источник
comment
Вам нужно заключить команду sh в двойные кавычки - параметр задания jenkins в команде bat"> stackoverflow.com/questions/52307739/   -  person Victor Wong    schedule 25.08.2020


Ответы (1)


Работа со следующим синтаксисом:
sh ''' (aws --profile "${profile}" ecr get-login --no-include-email --region "${region}") '''

person Max    schedule 01.09.2020