Groovy String интерполяция не проходит правильно - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь запустить команду в Jenkins, используя sh.Вот что я делаю:

ecsOracleClusterName = "foo"
ecsServiceName = sh(returnStdout: true, script: 'aws ecs list-services --cluster "${ecsOracleClusterName}" --region us-east-1').trim()

Я заметил, что ecsOracleClusterName выходит пустым.Не уверен, почему это происходит, но в Jenkins я получаю это сообщение об ошибке:

+ aws ecs list-services --cluster  --region us-east-1

An error occurred (ClusterNotFoundException) when calling the ListServices operation: Cluster not found.

Как видите, переменная имени кластера не передает значение.Это приводит меня к мысли, что есть проблема с интерполяцией строк (или, по крайней мере, как я ее реализую).Может кто-нибудь сказать мне, что здесь происходит?

1 Ответ

2 голосов
/ 17 мая 2019

Попробуйте использовать двойные кавычки, как это ..

ecsOracleClusterName = "foo"
ecsServiceName = sh(returnStdout: true, script: "aws ecs list-services --cluster $ecsOracleClusterName --region us-east-1").trim()
println "Service name: ${ecsServiceName}"
...