用途:通过 glab api 调用 GitLab 原始接口,管理项目的容器镜像仓库(Container Registry),包括列出镜像仓库、查看与删除标签、清理旧镜像等。
主要能力:列出项目下的容器仓库(glab api projects/:id/registry/repositories),获取仓库详情,列出与获取标签信息,删除单个标签、删除整个仓库、以及按条件批量删除标签。批量删除支持 name_regex_delete、name_regex_keep、keep_n、older_than 等参数,可设定保留最新标签数量或只清理匹配正则的标签。
使用方式:需先安装并配置 glab,命令形如 glab api projects/123/registry/repositories --method GET,删除操作使用 --method DELETE。可通过 --paginate 分页获取结果,并结合 jq 处理输出。批量删除示例:glab api projects/123/registry/repositories/456/tags --method DELETE -f name_regex_delete=".*" -f keep_n=5。
适用场景:镜像仓库审计与瘦身、定期清理开发或快照标签、只保留发布版本标签、导出标签清单用于备份、查找大体积镜像等。
限制与风险:需要令牌具备 read_registry、write_registry(删除时)或 api 权限;读取需 Reporter 及以上,删除需 Developer 或更高角色;项目必须启用容器仓库。删除仓库会同时删除其全部标签,属于高危操作;删除后旧镜像可能仍占用空间,需等待 GitLab 调度清理。GitLab.com 按命名空间有存储配额,自建实例限制可能不同。该技能不用于构建或推送镜像、运行容器,或管理包仓库。官方未提供更详细说明,价格与平台等暂未提供。