mcpField
G
GitLab CLI

GitLab CLI

官方精选Agent-ready
docs.gitlab.com开发者工具48glab今天更新
代码仓库访问官网

关于 GitLab CLI

glab 是 GitLab 的官方命令行工具。它让开发者和编码 Agent 从终端管理合并请求、问题、流水线和发布。支持 GitLab.com 和自托管实例。

主要功能

  1. 01创建和管理合并请求
  2. 02查看和管理 CI/CD 流水线
  3. 03与 GitLab API 交互

适用场景

  1. 01在命令行中快速创建或审查合并请求
  2. 02监控和调试 CI/CD 流水线
  3. 03从脚本或 Agent 工作流与 GitLab 集成

安装

选择你的系统或包管理器,复制命令到终端运行。

$
brew install glab

安装完成后运行glab --version确认安装成功。

命令示例

常用命令按使用顺序排列。

01
glab auth login
02
glab mr create
03
glab pipeline view

详细介绍

GLab

GLab

GLab 是一款开源的 GitLab 命令行工具。它将 GitLab 带到你的终端中,就在你使用 git 和代码工作的地方,无需在窗口和浏览器标签页之间切换。glab 不仅能处理问题和合并请求,还能做更多事情:

  • 直接从命令行查看、管理和重试 CI/CD 流水线。
  • 创建变更日志。
  • 创建和管理发布。
  • 向 GitLab Duo Chat (Classic) 提出有关 Git 的问题。
  • 管理 Kubernetes 的 GitLab Agent。

glab 适用于托管在 GitLab.com、GitLab Dedicated 和 GitLab Self-Managed 上的仓库。它支持多个已通过身份验证的 GitLab 实例,并会根据当前 Git 工作目录中的远程仓库,自动检测已通过身份验证的主机名。

命令示例

目录

要求

glab 官方支持 GitLab 16.0 及更高版本。某些命令可能需要更新的版本。许多命令可能在 GitLab 15.x 及更早版本中正常运行,但这些版本不受支持。

使用方法

开始使用 glab:

  1. 按照适用于你操作系统的安装说明进行安装。
  2. 在你的 GitLab 实例中进行身份验证。
  3. 可选。根据需要进一步配置 glab:

现在可以开始使用了!

命令

运行 glab --help,即可在终端中查看核心命令列表。

命令遵循以下模式:

glab <command> <subcommand> [flags]

许多核心命令还提供子命令。以下是一些示例:

  • 列出分配给你的合并请求:glab mr list --assignee=@me
  • 列出请求你审查的合并请求:glab mr list --reviewer=@me
  • 批准合并请求:glab mr approve 235
  • 创建议题,并添加里程碑、标题和标签:glab issue create -m release-2.0.0 -t "My title here" --label important
用于命令行的 GitLab Duo

GitLab CLI 还支持在终端中直接使用 GitLab Duo Agent Platform。

使用 glab duo cli 向 GitLab Duo 询问有关代码库的问题,并让它自主代你执行操作。

如需了解更多信息,请参阅 GitLab Duo CLI。

演示

asciicast

文档

请阅读文档了解使用说明,或查看 glab help。

安装

在发布页面下载适用于你操作系统的二进制文件。 其他安装方式取决于你的操作系统。

Homebrew

Homebrew 是适用于 macOS、Linux 和 Windows(通过 Windows Subsystem for Linux)的官方支持包管理器

  • Homebrew
    • 安装:brew install glab
    • 更新:brew upgrade glab
其他安装方式

其他 GitLab CLI 安装方式可能不受官方支持,或由社区维护,也可使用。

从源代码构建

如果发布页面上没有适用于你操作系统的受支持二进制文件,你可以从源代码构建:

从源代码构建的先决条件

从源代码构建:

  1. 运行 go version,确认你拥有所需的最低 Go 版本。 如果尚未安装 Go,请参阅下载和安装。
  2. 克隆仓库:git clone https://gitlab.com/gitlab-org/cli.git
  3. 构建二进制文件:make build
  4. 将 glab 安装到 $GOPATH/bin:make install
  5. 可选。如果 $GOPATH/bin 或 $GOBIN 不在你的 $PATH 中, 请运行 export PATH=$PWD/bin:$PATH。
  6. 确认安装:glab version

身份验证

如需了解如何使用 OAuth、个人访问令牌或 CI 作业令牌对 glab 进行身份验证,请参阅 使用 GitLab 进行身份验证。

配置

如需了解配置级别、配置搜索顺序和平台专属文件位置,请参阅配置 CLI。

如需了解如何连接到 GitLab Self-Managed 或 GitLab Dedicated 实例,以及 mTLS 和自签名证书,请参阅 连接到你的 GitLab 实例。

如需了解代理身份验证,包括自定义 HTTP 标头和 Google Identity-Aware Proxy,请参阅通过代理连接。

环境变量

glab 会从环境变量和配置文件中读取配置。每个配置键都有对应的变量,且变量的优先级高于已存储的值。在组织内集中设置这些变量,是让所有人使用相同配置的好方法。

完整参考请参阅 环境变量。 如需了解 glab 如何选择要使用的令牌,请参阅 令牌优先级。

调试

将 GLAB_DEBUG 环境变量设为 true 时,glab 会输出更多日志信息,包括:

  • 底层 Git 命令。
  • 展开的别名。
  • DNS 错误详情。

故障排查

有关常见身份验证问题的帮助,请参阅 GitLab CLI 文档中的 故障排查。

问题

如果遇到问题,请在问题跟踪器中报告。

安全

要报告 glab 中的安全漏洞,请按照安全政策中的流程操作。请勿公开提交问题。

要了解项目如何处理依赖项更新和容器扫描器 CVE 报告,请参阅 CONTRIBUTING.md 中的依赖项管理 和报告漏洞。

贡献

想要贡献?太棒了!我们提供了贡献指南和行为准则来为你提供指引。

更新命令帮助文本或文档时,请遵循 GitLab CLI 文档风格指南。

版本管理

本项目遵循 SemVer 规范。

版本变更分类
  • 如果删除命令、更改命令行为或添加新的必需标志,发布时必须使用新的 MAJOR 版本号。
  • 如果添加新命令或可选标志,发布时必须使用新的 MINOR 版本号。
  • 如果修复错误,发布时必须使用新的 PATCH 版本号。
兼容性

我们会尽力只在发布新的 MAJOR 版本时引入不兼容变更。 遗憾的是,有些情况下无法做到这一点,我们可能会在 MINOR 或 PATCH 版本中引入 不兼容变更。以下是一些可能这样做的情况:

  • 如果发现安全问题,且解决方案需要引入不兼容变更, 我们可能会引入此类变更来解决问题并保护用户。
  • 如果某项功能未按预期工作,且错误修复需要引入不兼容变更, 我们可能会引入此修复,以确保功能按预期工作。
  • 如果功能规范含糊不清,导致其行为令人困惑。在这种情况下,我们可能会完善规范, 消除歧义,并引入与完善后的规范一致的不兼容变更。相关示例请参阅 合并请求 1382。
  • 实验性功能不保证稳定,可能会被修改或移除,且无需引入不兼容变更。

不兼容变更是最后手段,我们会尽力只在绝对必要时才引入。

灵感来源

2022 年,GitLab CLI 从 Clement Sam 手中接手,成为 GitLab 官方 CLI。多年来,该项目受到 GitHub CLI 和 Zaq? Wiedmann 的 lab 的启发。

Lab 为许多 GitLab CI/CD 命令奠定了基础,包括 ci view 和 ci trace。

评论

支持 Markdown