{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: JihuLab.com, 私有化部署

{{< /details >}}

没有自动删除 blobs 的过程。除非您手动删除它们,否则它们将被无限期存储。本页介绍了几种从缓存中清除未使用项目的选项。

检查依赖代理存储使用情况

使用配额 页面显示了容器镜像依赖代理的存储使用情况。

使用 API 清除缓存

要回收不再需要的镜像 blob 使用的磁盘空间,请使用依赖代理 API清除整个缓存。如果清除缓存,下次运行流水线时必须从 Docker Hub 拉取镜像或标签。

清理策略

{{< history >}}

  • 在极狐GitLab 15.0 中,所需角色从开发人员更改为维护者。
  • 在极狐GitLab 17.0 中,所需角色从维护者更改为所有者。

{{< /history >}}

在极狐GitLab 中启用清理策略

您可以从用户界面为容器镜像的依赖代理启用自动生存时间 (TTL) 策略。为此,请转到您的群组的 设置 > 软件包和仓库 > 依赖代理,并启用设置以在 90 天后自动清除缓存中的项目。

使用 GraphQL 启用清理策略

清理策略是一个计划任务,您可以用来清除不再使用的缓存镜像,从而释放额外的存储空间。策略使用生存时间 (TTL) 逻辑:

  1. 配置的天数。
  2. 所有在该天数内未被拉取的缓存依赖代理文件将被删除。

使用 GraphQL API 启用和配置清理策略:

mutation {
  updateDependencyProxyImageTtlGroupPolicy(input:
    {
      groupPath: "<your-full-group-path>",
      enabled: true,
      ttl: 90
    }
  ) {
    dependencyProxyImageTtlPolicy {
      enabled
      ttl
    }
    errors
  }
}

请参阅 GraphQL 入门指南,了解如何进行 GraphQL 查询。

当策略最初启用时,默认的 TTL 设置为 90 天。一旦启用,过时的依赖代理文件将每天排队等待删除。由于处理时间,删除可能不会立即发生。如果在缓存文件被标记为过期后拉取镜像,过期文件将被忽略,并从外部仓库下载和缓存新文件。