核心用法
glab 是 GitLab 官方推出的命令行工具,提供与 Web UI 等效的全功能 GitLab 操作能力。通过 glab auth login 完成认证后,可执行从日常开发到 CI/CD 自动化的完整工作流。
核心命令分类:
- 代码协作:
glab mr(合并请求创建、审查、批准)、glab issue(Issue 全生命周期管理) - CI/CD:
glab ci(流水线状态查看、重试、日志追踪)、glab job(单任务操作)、glab schedule(定时任务) - 仓库管理:
glab repo(克隆、分叉、浏览)、glab release(版本发布) - 项目管理:
glab milestone、glab iteration、glab label(支持项目级/组级标签) - 认证配置:
glab auth(支持--web浏览器登录、容器仓库认证)、glab config
v1.90.0 重要更新:glab mr create --auto-merge 自动合并、glab runner 新增作业/管理器查看、glab runner-controller 实验性支持。
显著优点
1. 官方维护:GitLab 官方出品,与平台特性同步更新,API 兼容性最佳
2. 结构化输出:v1.89.0+ 起 18 个命令支持 --output json,便于脚本/Agent 解析
3. 工作流覆盖全面:从 Issue 创建 → MR 关联 → CI 触发 → 发布上线完整闭环
4. 终端效率:批量操作、无需浏览器切换、与 Git 命令无缝衔接
5. 自动化友好:支持通过 GITLAB_TOKEN 环境变量或配置文件认证,适合 CI/CD 场景
潜在缺点与局限性
- 复杂 UI 场景受限:内联评论 diff 审查、可视化冲突解决仍需 Web UI
- 配置门槛:自托管实例需额外配置 SSH hostname 与 API endpoint
- 权限敏感:脚本可操作 MR 批准、评论发布等,需审查
scripts/目录内容 - 实验性功能风险:
glab-runner-controller、glab-mcp等标记为 EXPERIMENTAL
适合人群
- 终端优先的开发者,寻求 GitLab 操作效率最大化
- DevOps 工程师编写 GitLab 自动化脚本
- 需要批量处理 MR/Issue 的维护者
- CI/CD 流水线中需要程序化 GitLab 交互的场景
常规风险
- Token 安全:认证信息存储于
~/.config/glab-cli/config.yml,需妥善保管 - 敏感文件访问:部分功能可能读取 SSH 密钥 (
~/.ssh/id_rsa)、Docker 配置 - 写操作权限:自动化脚本具备发布评论、批准 MR、解决线程的能力,生产环境使用前建议审查脚本内容