关于 glab-container-registry
通过 `glab` 管理 GitLab 容器镜像仓库和标签的命令行技能,涵盖列表、查看、删除及按规则批量清理标签。
主要功能
- 01按项目或群组列出仓库
- 02查看仓库详情和标签
- 03列出标签摘要、大小及日期
- 04删除仓库和标签
- 05按正则或时间筛选批量清理
适用场景
- 01检查多个项目的镜像仓库内容
- 02删除指定仓库或标签
- 03清理旧标签并保留最新标签
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ vince-winkintel/ gitlab-cli-skills --skill glab-container-registry安装后在 Claude Code 中输入/glab-container-registry确认已加载。
附带文件references/commands.md
详细介绍
glab container-registry
通过命令行管理 GitLab 容器镜像仓库和标签。
仓库 ID 来自镜像仓库列表/查看输出,而不是 Git 仓库项目 ID。
常见工作流
# List registry repositories for the current project
glab container-registry repository list
# List repositories for another project
glab container-registry repository list -R gitlab-org/cli
# List repositories for a group
glab container-registry repository list --group gitlab-org
# Include tag counts/tags in project repository output
glab container-registry repository list --include-tags-count --include-tags
# JSON output for automation
glab container-registry repository list --output json --jq '.[].id'
仓库命令
# View a registry repository
glab container-registry repository view <repository-id>
# Include tags in the repository response
glab container-registry repository view <repository-id> --include-tags
# Delete a repository and all images/tags published to it (destructive)
glab container-registry repository delete <repository-id>
glab container-registry repository delete <repository-id> --yes
别名:repository ls、repository show 和 repository del。
标签命令
# List tags for a registry repository
glab container-registry tag list <repository-id>
# List tags for a repository in another project
glab container-registry tag list <repository-id> -R owner/repo
# Include digest, size, and creation time for each tag
glab container-registry tag list <repository-id> --details
# View a specific tag
glab container-registry tag view <repository-id> <tag-name>
# Delete one tag (destructive)
glab container-registry tag delete <repository-id> <tag-name>
glab container-registry tag delete <repository-id> <tag-name> --yes
别名:tag ls、tag show 和 tag del。
批量清理标签
GitLab 会异步安排批量删除。后台删除任务完成前,匹配的标签可能仍会显示。
# Schedule tags matching a regex for deletion
glab container-registry tag delete <repository-id> \
--name-regex-delete '^release-.*' \
--yes
# Delete old tags while keeping the 10 most recent matching tags
glab container-registry tag delete <repository-id> \
--name-regex-delete '.*' \
--keep-n 10 \
--older-than 30d \
--yes
# Keep tags matching a regex during bulk deletion
glab container-registry tag delete <repository-id> \
--name-regex-delete '.*' \
--name-regex-keep '^stable$|^latest$' \
--yes
批量操作标志:
--name-regex-delete <regex>— 要删除的标签名称。--name-regex-keep <regex>— 要保留的标签名称。--keep-n <n>— 保留最新的 N 个匹配标签。--older-than <duration>— 删除早于指定时长的标签,例如7d或1month。
安全注意事项
- 将仓库/标签删除命令视为破坏性操作;除非已检查目标 ID 和正则表达式,否则不要使用
--yes。 - 脚本应使用
--output json和--jq,而不是解析表格。 - 在目标项目的工作区之外运行时,请使用
-R/--repo。
参考
命令概要和标志请参阅 references/commands.md。
评论
支持 Markdown