如何使用CloudFormation定义ECR生命周期策略

Luc*_*chi 5 aws-cloudformation amazon-ecr

为了限制存储库中的图像数量,我想定义一个生命周期策略。由于所有堆栈都是使用CloudFormation定义的,因此我也想定义此策略。

例如,我的政策可能是“仅保留最近的8张图像,无论是否已标记”。

Luc*_*chi 9

该解决方案非常简单,但是由于我找不到任何示例或类似问题(我知道,ECR并不是主流),所以让我在这里发布我发现的简单解决方案,只需将策略作为JSON插入CloudFormation中即可。定义:

MyRepository:
  Type: AWS::ECR::Repository
  Properties:
    LifecyclePolicy:
      LifecyclePolicyText: |
        {
          "rules": [
          {
            "rulePriority": 1,
            "description": "Only keep 8 images",
            "selection": {
              "tagStatus": "any",
              "countType": "imageCountMoreThan",
              "countNumber": 8
            },
            "action": { "type": "expire" }
          }]
        }
Run Code Online (Sandbox Code Playgroud)

当然这很简单,但这是我一直在寻找的起点