> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siflow.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 配置镜像仓库制品保留策略

> 为镜像仓库项目设置保留规则，试运行核对结果后手动或定时执行。

项目中积累多个镜像版本后，可以通过保留规则指定需要保留的仓库、标签和版本范围。先确认部署或回滚仍依赖哪些版本，再试运行并核对结果，最后决定是否正式执行。

> [!WARNING]
>
> 正式执行保留策略可能清理未命中的制品，影响旧版本镜像的部署或回滚。执行前，请确认保留规则覆盖仍需使用的版本，并核对试运行结果。

## 创建保留规则

每个项目最多支持 15 条保留规则。存在多条规则时，规则之间按 OR 关系生效：只要制品命中任意一条规则，就会被保留。

### 操作步骤

1. 登录 [GPU 云服务控制台](https://console.siflow.cn/gpu-cloud/home)。

2. 进入 **存储 > 镜像仓库** 页面。

3. 选择目标地域，在 **项目** 页签单击目标项目的名称。

4. 在项目侧边栏进入 **保留策略 Policy** 页面，在 **保留规则** 区域单击 **新增策略**。

5. 配置要保留的制品范围。

   | 配置项 | 说明 |
   | - | - |
   | **范围** | 指定规则适用的仓库范围。选择 **项目** 时，可使用匹配模式指定项目内的一批仓库；选择 **仓库** 时，指定单个仓库。请核对是否包含部署和回滚仍依赖的仓库。 |
   | **保留策略** | 选择保留依据，并根据所选方式填写数量或时间范围。可配置：<ul><li>按推送时间排序，保留 M 个制品。</li><li>按拉取时间排序，保留 M 个制品。</li><li>保留 N 天内推送的制品。</li><li>保留 N 天内拉取的制品。</li><li>始终保留</li></ul> |
   | **标签匹配模式** | 使用匹配模式指定要保留的标签。`**` 匹配所有标签；`v1.0.0*` 匹配以 `v1.0.0` 开头的标签。填写前核对仍用于部署或回滚的标签。 |
   | **未打标签的制品** | 按需选择是否保留未打标签的制品。 |

6. 保存规则，在 **保留规则** 列表核对匹配条件和状态。

### 推荐策略示例

以下配置示例可按项目需要调整。

* **清理未打标签的制品**
  * 配置：标签匹配模式设为 `**`，保留策略选 **始终保留**，关闭 **未打标签的制品**。
  * 说明：此规则保留带标签的制品；未打标签的制品仍可能被其他规则保留。
* **按推送和拉取记录保留版本**
  * 配置：创建两条规则，均将标签匹配模式设为 `**`：一条按推送时间保留 `20` 个制品，另一条按拉取时间保留 `10` 个制品。
  * 注意：`20` 和 `10` 是示例数量，可按需调整；如需保留未打标签的制品，在对应规则中启用 **未打标签的制品**。
* **按标签前缀保留重点仓库的版本**
  * 配置：为 `aegis` 仓库创建规则，标签匹配模式设为 `v3*`，保留策略选 **始终保留**。
  * 说明：保留 `v3` 开头的标签；其他标签按其他规则处理。

## 试运行并核对结果

1. 在 **保留规则** 区域单击 **试运行**，等待生成执行记录。

   > [!TIP]
   >
   > 试运行仅用于预览规则命中的制品范围，不会删除制品。

2. 在 **执行历史** 中找到本次试运行记录，并按[查看执行历史](#查看执行历史)中的说明核对涉及的仓库和保留结果。

   若结果不符合预期，先调整规则并重新试运行，不要正式执行。

## 执行保留策略

### 手动执行

确认试运行结果符合预期后，在 **保留规则** 区域单击 **立即执行**。执行后，可在 **执行历史** 中查看本次记录。

### 设置定时执行

在 **触发 Cron** 中选择 **自定义**，按“秒 分 时 日 月 星期”的顺序填写 Cron 表达式，然后单击 **保存**。表达式使用 UTC 时区。例如，`0 0 2 * * *` 表示每天 UTC 时间 02:00 执行。

启用定时执行前，请确认后续新增版本的标签也在预期保留范围内。

## 查看执行历史

1. 打开目标项目的 **保留策略 Policy** 页面，在 **执行历史** 中单击 **刷新** 获取最新记录。
2. 找到要查看的记录，核对执行状态和涉及的仓库，确认结果是否符合预期。
3. 根据记录状态，在 **操作** 列进行操作。

   * 执行中的记录支持停止。
   * 已完成的记录支持查看日志。

   ![执行历史及记录操作](https://mintcdn.com/siflow/dUChFiiLy9KdHCra/gpu-cloud/registry/media/image-retention-execution-history.png?fit=max\&auto=format\&n=dUChFiiLy9KdHCra\&q=85\&s=ec09c4b1b96903f976aeee5bbe00ca2f)

## 调整或停用规则

在 **保留规则** 列表找到目标规则，按需单击 **编辑** 修改匹配条件，或单击 **禁用** 暂停使用。不再需要该规则时，单击 **删除** 并按提示确认。修改、禁用或删除前，请核对其他规则是否仍覆盖需要保留的版本；修改后先试运行，再正式执行。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.