Передача значения изображения контейнера в шаблон облачной информации AWS динамически от jenkins - PullRequest
1 голос
/ 12 июля 2020

У меня есть конвейер Дженкинса, в котором я выполняю шаблон формирования облака, который я сохранил в Gitlab. Но мой шаблон облачной информации содержит параметр изображения, который мне нужно динамически передавать из файла jenkins. может ли кто-нибудь помочь мне сделать то же самое. я выделил его жирным шрифтом.

ContainerDefinitions ": [{" Image ":" amazon / amazon-ecs-sample ", ],

1 Ответ

1 голос
/ 12 июля 2020

Для этого вам нужно вместо этого сделать значение Image параметром, передаваемым в стек CloudFormation.

В вашем стеке CloudFormation создайте параметр с именем «Image», как показано ниже

"Parameters": {
  "Image": {
    "Type": String,
    "Description": "The image name to use within the container definition"
  }
}

Затем в своем коде вы можете ссылаться на него, используя Ref intrinsi c функцию в Определение контейнера , как показано ниже

ContainerDefinitions" : [ { "Image": { "Ref": "Image" }, ]

Когда вы создаете стек с помощью интерфейса командной строки, вы должны создать его, как показано ниже

aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json --parameters ParameterKey=Image,ParameterValue=amazon/amazon-ecs-sample

Если вы используете параметр в конвейере Jenkins, вы можете заменить имя изображения, как показано ниже

aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json --parameters ParameterKey=Image,ParameterValue=${env.Image}
...