为此,您需要将 Image 值作为传递到 CloudFormation 堆栈的参数。
在您的 CloudFormation 堆栈中创建一个名为“Image”的参数,如下所示
"Parameters": {
"Image": {
"Type": String,
"Description": "The image name to use within the container definition"
}
}
然后在您的代码中,您可以使用Container Definition 中的Ref intrinsic function 引用它,如下所示
ContainerDefinitions" : [ { "Image": { "Ref": "Image" }, ]
当您使用 CLI 创建堆栈时,您会像下面这样创建堆栈
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}