Help us learn about your current experience with the documentation. Take the survey.

GitLab CLI - glab

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

glab 是一个开源的 GitLab CLI 工具。它将 GitLab 带到你的终端: 在你已经使用 Git 和代码工作的地方,无需在窗口和浏览器标签之间切换。

  • 处理 issues。
  • 处理 merge requests。
  • 直接从 CLI 观看正在运行的 pipelines。

command example

GitLab CLI 使用类似 glab <command> <subcommand> [flags] 的命令结构 来执行你通常从 GitLab 用户界面执行的各种操作:

# 登录
glab auth login --stdin < token.txt

# 查看 issues 列表
glab issue list

# 为 issue 123 创建 merge request
glab mr create 123

# 检出 merge request 243 的分支
glab mr checkout 243

# 观看正在进行的 pipeline
glab pipeline ci view

# 查看、批准和合并 merge request
glab mr view
glab mr approve
glab mr merge

核心命令

GitLab Duo for the CLI

GitLab CLI 包含由 GitLab Duo 提供的功能。这些包括:

在工作时询问关于 git 命令的问题,请输入:

glab duo ask 命令可以帮助你记住忘记的 git 命令, 或者提供如何运行 git 命令来执行其他任务的建议。

安装 CLI

安装说明可在 glabREADME 中找到。

与 GitLab 认证

要认证你的 GitLab 账户,请运行 glab auth loginglab 遵循使用 GITLAB_TOKEN 设置的 tokens。

glab 还与 1Password shell plugin 集成以进行安全认证。

示例

使用文件中的变量运行 CI/CD pipeline

glab ci run 命令在运行时使用 -f (--variables-from-string) 标志,会使用存储在外部文件中的值。 例如,将此代码添加到你的 .gitlab-ci.yml 文件中以引用两个变量:

stages:
  - build

# $EXAMPLE_VARIABLE_1 和 $EXAMPLE_VARIABLE_2 存储在另一个文件中
build-job:
  stage: build
  script:
    - echo $EXAMPLE_VARIABLE_1
    - echo $EXAMPLE_VARIABLE_2
    - echo $CI_JOB_ID

然后,创建一个名为 variables.json 的文件来包含这些变量:

[
  {
    "key": "EXAMPLE_VARIABLE_1",
    "value": "example value 1"
  },
  {
    "key": "EXAMPLE_VARIABLE_2",
    "value": "example value 2"
  }
]

要启动包含 variables.json 内容的 CI/CD pipeline,请运行此命令,并根据需要编辑文件路径:

$ glab ci run --variables-file /tmp/variables.json`

$ echo $EXAMPLE_VARIABLE_1
example value 1
$ echo $EXAMPLE_VARIABLE_2
example value 2
$ echo $CI_JOB_ID
9811701914

将 CLI 用作 Docker 凭据助手

从 GitLab container registrycontainer image dependency proxy 拉取镜像时, 你可以将 CLI 用作 Docker credential helper。 要配置凭据助手,请执行以下操作:

  1. 运行 glab auth login
  2. 选择要登录的 GitLab 实例类型。如果提示,请输入你的 GitLab 主机名。
  3. 对于登录方法,选择 Web
  4. 输入用于容器注册表和容器镜像代理的域名列表,用逗号分隔。 登录 GitLab.com 时,会提供默认值。
  5. 认证后,运行 glab auth configure-docker 来初始化 Docker 配置中的凭据助手。

报告问题

gitlab-org/cli 仓库 中打开一个 issue 来向我们发送反馈。

相关主题

故障排除

使用 1Password shell plugin 时 glab completion 命令失败

1Password shell plugin 添加了别名 glab='op plugin run -- glab',这可能会干扰 glab completion 命令。 如果你的 glab completion 命令失败,请配置你的 shell 以在执行完成时阻止别名扩展:

  • 对于 Zsh,编辑你的 ~/.zshrc 文件并添加这行:

    setopt completealiases
  • 对于 Bash,编辑你的 ~/.bashrc 文件并添加这行:

    complete -F _functionname glab

有关更多信息,请参阅 1Password shell plugin 的 issue 122