Help us learn about your current experience with the documentation. Take the survey.
减少包注册表存储
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
包注册表会随时间积累包及其资源。如果不定期清理:
- 包列表获取时间变长,影响 CI/CD 管道性能
- 服务器会为未使用或过期的包分配更多存储空间
- 用户可能在众多过时的包版本中难以找到相关包
你应该实施定期清理策略来减少包注册表的臃肿并释放存储空间。
查看包注册表存储使用情况
要查看存储的使用情况分析:
- 在左侧边栏,选择搜索或跳转至并找到你的项目。
- 选择设置 > 使用配额。
- 在使用配额页面,查看包的使用情况分析。
删除包
在包注册表中发布包后,你无法编辑该包。相反,你必须删除并重新发布该包。
先决条件:
- 你必须至少拥有 Maintainer 角色。
要删除包:
- 在左侧边栏,选择搜索或跳转至并找到你的项目或群组。
- 选择部署 > 包注册表。
- 在包注册表页面,选择要删除的包。
- 或者,在包注册表页面, 选择垂直省略号( ) 并选择删除包。
- 选择删除。
该包将被永久删除。
你也可以使用 API 删除包。
删除包资源
删除与包关联的资源以减少存储。
先决条件:
- 你必须至少拥有 Developer 角色。
要删除包资源:
- 在左侧边栏,选择搜索或跳转至并找到你的项目或群组。
- 选择部署 > 包注册表。
- 在包注册表页面,选择一个包以查看更多详细信息。
- 在资源表中,找到要删除的资源名称。
- 选择垂直省略号( )并选择删除资源。
包资源将被永久删除。
你也可以使用 API 删除包资源。
清理策略
当你向包注册表上传同名同版本的包时,包会添加更多资源。
为了节省存储空间,你应该只保留最新的资源。使用清理策略来定义自动删除项目中包资源的规则,这样你就不必手动删除它们。
启用清理策略
先决条件:
- 你必须至少拥有 Maintainer 角色。
默认情况下,包清理策略是禁用的。要启用它:
- 在左侧边栏,选择搜索或跳转至并找到你的项目。
- 选择设置 > 包和注册表。
- 展开包注册表。
- 在管理包资源使用的存储下,适当设置规则。
可用规则
-
保留的重复资源数量:某些包格式支持同一资源的多个副本。 你可以设置保留多少个重复资源的限制。 当达到限制时,最旧的资源会自动删除。 由 Maven 快照生成的唯一文件名不计为重复资源。 -
保留的重复资源数量每12小时运行一次。
设置清理限制以节省资源
后台进程执行包清理策略。这个过程可能需要很长时间才能完成,并且在运行时会消耗服务器资源。
使用以下设置来限制清理工作进程的数量:
package_registry_cleanup_policies_worker_capacity:同时运行的清理工作进程的最大数量。 该数字必须大于或等于0。 你应该从较小的数字开始,然后在监控后台工作进程使用的资源后增加它。 要移除所有工作进程并执行清理策略,请将此设置设置为0。默认值为2。