mcpField
G
glab-container-registry

glab-container-registry

github.com/vince-winkintel云与 DevOps49103 次安装1 天前更新
代码仓库

关于 glab-container-registry

通过 `glab` 管理 GitLab 容器镜像仓库和标签的命令行技能,涵盖列表、查看、删除及按规则批量清理标签。

主要功能

  1. 01按项目或群组列出仓库
  2. 02查看仓库详情和标签
  3. 03列出标签摘要、大小及日期
  4. 04删除仓库和标签
  5. 05按正则或时间筛选批量清理

适用场景

  1. 01检查多个项目的镜像仓库内容
  2. 02删除指定仓库或标签
  3. 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