问题描述
我正在自动化需要通过 cloudformation 创建堆栈的 PR 流程。问题是,根据定义 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html 旧的 TaskDeFinition 修订版被删除,为新的/更新的 TaskDeFinition 腾出位置。有什么办法可以避免更换而只做更新吗?
解决方法
来自docs:
要更新任务定义,请创建任务定义修订版。如果在服务中使用了任务定义,您必须更新该服务以使用更新后的任务定义。
这意味着任务定义修订是不可变的,无法创建新修订。
如果您想保留任务定义的旧版本,您可以尝试使用值为 UpdateReplacementPolicy
的 Retain
。也许它能够保留旧的修订版。有关详细信息,请查看 CloudFormation docs - UpdateReplacePolicy。
看起来像这样:
AWSTemplateFormatVersion: 2010-09-09
Resources:
taskdefinition:
Type: 'AWS::ECS::TaskDefinition'
UpdateReplacePolicy: Retain
Properties: {} # Your usual properties here