stage: Create group: Code Review info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments description: Use the GitLab CLI (glab) to perform common GitLab actions in your terminal. title: 极狐GitLab CLI - glab
- Tier: 免费版,专业版,旗舰版
- Offering: JihuLab.com,私有化部署
glab 是一个开源的 极狐GitLab CLI 工具。它把 极狐GitLab 带到你的终端:在你已经使用 Git 和代码进行工作的同一位置,无需在窗口和浏览器标签页之间来回切换。
- 处理议题
- 处理合并请求
- 直接在 CLI 中查看运行中的流水线

极狐GitLab CLI 使用类似于 glab <command> <subcommand> [flags] 的命令结构,在终端中执行你通常在 极狐GitLab 用户界面中进行的许多操作:
shell1# 登录 2glab auth login --stdin < token.txt 3 4# 查看议题列表 5glab issue list 6 7# 为议题 123 创建合并请求 8glab mr create 123 9 10# 检出合并请求 243 的分支 11glab mr checkout 243 12 13# 观察正在运行的流水线 14glab pipeline ci view 15 16# 查看、批准并合并合并请求 17glab mr view 18glab mr approve 19glab mr merge
核心命令
- glab alias: 创建、列出和删除别名
- glab api: 向 极狐GitLab API 发起认证请求
- glab auth: 管理 CLI 的身份验证状态
- glab changelog: 与变更日志 API 交互
- glab check-update: 检查 CLI 更新
- glab ci: 使用 极狐GitLab CI/CD 流水线和作业
- glab cluster: 管理 极狐GitLab 的 Kubernetes 代理及其集群
- glab completion: 生成 shell 自动补全脚本
- glab config: 设置和获取 CLI 设置
- glab deploy-key: 管理部署密钥
- glab duo: 根据自然语言生成终端命令
- glab incident: 处理 极狐GitLab 事件
- glab issue: 处理 极狐GitLab 议题
- glab iteration: 获取迭代信息
- glab job: 使用 极狐GitLab CI/CD 作业
- glab label: 管理项目标签
- glab mr: 创建、查看和管理合并请求
- glab release: 管理 极狐GitLab 发布
- glab repo: 使用 极狐GitLab 仓库和项目
- glab schedule: 使用 极狐GitLab CI/CD 计划任务
- glab securefile: 管理项目的安全文件
- glab snippet: 创建、查看和管理代码片段
- glab ssh-key: 管理注册到你的 极狐GitLab 账户的 SSH 密钥
- glab stack: 创建、管理并使用堆叠差异
- glab token: 管理个人、项目或群组令牌
- glab user: 与 极狐GitLab 用户账户交互
- glab variable: 管理 极狐GitLab 项目或群组的变量
- glab version: 显示 CLI 的版本信息
CLI 的 GitLab Duo
- Tier: 专业版,旗舰版
- Add-on: GitLab Duo Enterprise
- Offering: JihuLab.com,私有化部署
Model information
- LLM:国内 SOTA 大模型
- 可访问 自部署模型的 GitLab Duo 了解详情
History
- 在 极狐GitLab 17.6 及更高版本中更改为需要 GitLab Duo 附加组件
- 在 极狐GitLab 18.0 中更改为包含 专业版
极狐GitLab CLI 包含由 GitLab Duo 提供支持的功能,这些功能包括:
在你工作时询问关于 git 命令的问题,请输入:
glab duo ask 命令可以帮助你回忆你忘记的某个 git 命令,或提供运行 git 命令以执行其他任务的建议。
安装 CLI
安装说明可在 glab 的 README 中找到。
使用 极狐GitLab 进行身份验证
要使用你的 极狐GitLab 账户进行身份验证,运行 glab auth login。glab 会识别通过 GITLAB_TOKEN 设置的令牌。
glab 还与 1Password shell 插件 集成,以进行安全的身份验证。
示例
使用来自文件的变量运行 CI/CD 流水线
当使用 -f(--variables-from-string)标志运行 glab ci run 命令时,会使用存储在外部文件中的值。例如,将以下代码添加到你的 .gitlab-ci.yml 文件以引用两个变量:
yaml1stages: 2 - build 3 4# $EXAMPLE_VARIABLE_1 和 $EXAMPLE_VARIABLE_2 存储在另一个文件中 5build-job: 6 stage: build 7 script: 8 - echo $EXAMPLE_VARIABLE_1 9 - echo $EXAMPLE_VARIABLE_2 10 - echo $CI_JOB_ID
然后,创建一个名为 variables.json 的文件以包含这些变量:
json1[ 2 { 3 "key": "EXAMPLE_VARIABLE_1", 4 "value": "example value 1" 5 }, 6 { 7 "key": "EXAMPLE_VARIABLE_2", 8 "value": "example value 2" 9 } 10]
要启动一个包含 variables.json 内容的 CI/CD 流水线,运行此命令,并根据需要编辑文件路径:
shell1$ glab ci run --variables-file /tmp/variables.json 2 3$ echo $EXAMPLE_VARIABLE_1 4example value 1 5$ echo $EXAMPLE_VARIABLE_2 6example value 2 7$ echo $CI_JOB_ID 89811701914
将 CLI 用作 Docker 凭据助手
当从 极狐GitLab 容器镜像仓库 或 容器镜像依赖代理 拉取镜像时,你可以将 CLI 用作 Docker 凭据助手。要配置凭据助手,请执行以下操作:
- 运行 glab auth login。
- 选择要登录的 极狐GitLab 实例类型。如果出现提示,请输入你的 极狐GitLab 主机名。
- 在登录方式中选择 Web。
- 输入用于容器镜像仓库和容器镜像代理的域名的逗号分隔列表。登录 JihuLab.com 时会提供默认值。
- 完成身份验证后,运行 glab auth configure-docker 在你的 Docker 配置中初始化凭据助手。
相关主题
故障排除
glab 2.0.0 的环境变量更改 {#environment-variable-changes-in-glab-2.0.0}
在 glab 2.0.0 及更高版本中,所有 glab 环境变量都以 GLAB_ 为前缀。
使用 1Password shell 插件时 glab completion 命令失败 {#glab-completion-commands-fail-when-using-the-1password-shell-plugin}
1Password shell 插件 添加了别名 glab='op plugin run -- glab',这可能干扰 glab completion 命令。如果你的 glab completion 命令失败,请配置你的 shell 以在执行补全前避免展开别名:
-
对于 Zsh,编辑你的 ~/.zshrc 文件并添加这一行:
plaintextsetopt completealiases -
对于 Bash,编辑你的 ~/.bashrc 文件并添加这一行:
plaintextcomplete -F _functionname glab
命令使用了错误的 Git 远程
如果一个 Git 仓库有多个远程且你选择了错误的远程,命令在查询错误远程时可能返回空结果。要修复此问题,请更改 glab 在该仓库中使用的远程:
-
在终端中运行 git config edit。
-
找到包含 glab-resolved = base 的行,如果不正确,请将其删除。
-
将更改保存到你的 Git 配置文件。
-
要设置你希望使用的默认值,运行此命令。编辑示例并将 origin 替换为你偏好的远程名称:
shellgit config set --append remote.origin.glab-resolved base