Artifact Registry 清理政策用于定义以下条件:自动删除您不再需要的制品版本,或保留您希望无限期存储的制品。
如果您存储了许多版本的工件,但只需要保留发布到生产环境的特定版本,那么清理政策会非常有用。您可以定义删除政策(包含用于删除制品的条件)和保留政策(包含用于保留制品的条件)。
由删除政策触发的删除操作会计入您的 Artifact Registry 每个项目的删除请求配额,并且每个代码库每天最多只能执行 60 万次删除操作。
清理政策的类型
删除政策定义了制品删除的最低或最高期限,并提供额外的过滤条件,以将政策限制为仅适用于特定制品。如果删除政策处于有效状态,您还可以配置不同类型的保留政策,以便 Artifact Registry 保留特定制品:
- 有条件保留政策:定义保留制品的条件。 您可以配置有条件的保留政策,以保留删除政策原本会移除的制品。如果工件同时满足删除政策和保留政策的条件,则会保留该工件。
- 保留最新版本:定义用于保留特定范围的制品版本的条件。您无法在同一清理政策中使用有条件保留和保留最新版本条件。
匹配同一映像的政策的优先级
如果某个制品版本同时符合删除政策和保留政策中的条件,Artifact Registry 会应用保留政策。
如果某个制品版本符合多项删除政策,Artifact Registry 会应用保留期限最短的删除政策。例如,您有两项删除政策:
- 删除政策 1:在 24 小时后删除所有带有以
commit-开头的标记的图片。 - 删除政策 2:在七天后删除所有已标记的图片。
标记为 commit-1234 的映像与这两个政策都匹配。由于政策 1 的保留期限较短,因此映像会在 24 小时后被删除。
政策应用顺序
如果您的代码库具有多项清理政策,Artifact Registry 会按顺序应用这些政策,除非某项保留政策与某项删除政策匹配的是同一映像。例如,您的代码库具有以下条件的清理政策:
- 删除存在时间超过 100 天的图片。
- 保留版本前缀为 2.0.6 的映像。
- 删除带有
default标记的图片。
您的代码库包含具有以下属性的映像:
| 映像 | 年龄 | 标记 | 版本 |
|---|---|---|---|
| 图片 A | 120 天 | default |
2.0.1 |
| 图片 B | 150 天 | default |
2.0.6 |
| 图片 C | 20 天 | patch |
1.9.2 |
在此示例中,系统会删除图片 A,并保留图片 C。 映像 B 也会保留,因为保留政策与映像版本匹配,即使映像 B 也符合第一条和第三条政策的删除条件。
政策应用时间表
Artifact Registry 会使用定期运行的后台作业来试运行和实际运行清理政策。更改会在大约一天内生效。
每个代码库的清理政策数量上限
您最多可以为仓库应用 10 项清理政策。
支持的格式
您可以为所有代码库格式的标准代码库设置清理政策。
后续步骤
- 如需了解如何创建和管理清理政策,请参阅配置清理政策。