如何开始使用 GitLab 的 CLI 从终端管理 DevOps |
您所在的位置:网站首页 › 苏州glab › 如何开始使用 GitLab 的 CLI 从终端管理 DevOps |
如何开始使用 GitLab 的 CLI 从终端管理 DevOps
GitLab 是许多开发团队的真理来源。然而,访问 GitLab 数据通常需要上下文切换到 Web 浏览器或繁琐的 API 交互。现在有一个官方 CLI,可让您无需离开终端即可管理 DevOps 流程。 GitLab 是面向现代软件交付团队的领先源代码控制和 CI/CD 解决方案之一。它提供了一整套用于规划、构建和交付软件项目的功能。 GitLab 通常使用其 Web UI 或 API 进行交互。这些选项对于以终端为中心的开发人员来说都不是特别有吸引力。幸运的是,GitLab 还有一个 CLI,可以直接访问您的问题、合并请求、管道和其他资源,以及您的代码和其他 shell 命令。本文将向您展示基础知识。 什么是 Glab?GitLab CLI glab 由 Clement Sam 发起,是一个社区主导的项目。此后,它被 GitLab 采用,并于 2022 年 12 月收到了第一个由 GitLab 主导的官方版本。展望未来,它将继续作为开源工具由 GitLab 和更广泛的社区维护。 Glab 目前支持与以下 GitLab 功能交互: 问题合并请求管道发布存储库标签片段您可以从 GitLab 帐户检索现有数据、创建新项目以及执行检查管道状态和批准合并请求等操作。可以同时对多个 GitLab 实例进行身份验证,包括 GitLab.com 和您的自托管服务器。 开始使用 Glab在开始使用 Glab 之前,请为您的 GitLab 帐户创建一个个人访问令牌,其中包括 api和 write_repository范围。 Glab 将使用此令牌代表您执行操作。 单击 GitLab UI 右上角的个人资料图标,然后从左侧菜单中选择“访问令牌”。为您的令牌命名并选择 api和 write_repository列表中的范围。向下滚动页面并单击“创建个人访问令牌”按钮。将显示令牌的值 - 现在记下这一点,因为您将来将无法检索它。 接下来,您需要安装 Glab。您可以从项目的 GitLab 版本页面下载适用于 Windows、macOS 和 Linux 系统的预构建二进制文件。 Glab 还为所有受支持的操作系统上的几种流行的包管理器进行了分发。 安装 Glab 后,您可以通过运行以下命令对 GitLab 实例进行身份验证 auth login命令。这将启动一系列交互式提示,让您在 GitLab.com 或自托管实例之间进行选择。提供实例详细信息后,您将能够输入之前创建的个人访问令牌。 接下来,系统会要求您确认用于 Git 操作的默认协议。您通常可以接受自动选择的值。 SSH 是首选,但某些环境可能需要通过 HTTPS 使用 Git。以下提示询问您 Glab 是否应使用您之前提供的相同个人访问令牌对 Git 操作进行身份验证。这通常是所需的行为。 最后,如果您使用自托管的 GitLab 实例,系统将提示您在 HTTP 和 HTTPS 协议之间进行选择以访问 GitLab API。除非您知道您的实例仅支持 HTTP,否则请选择 HTTPS。 在序列结束时,您应该会收到一条“已登录”成功消息。 登录另一个 GitLab 实例您可以通过重复以下操作登录到另一个 GitLab 实例 auth login命令。跑步 auth status将发出您已配置的所有端点的列表。 使用 GlabGlab 旨在从项目的工作目录运行。开始于 cd-进入包含 Git 存储库的目录。 Glab 命令现在将根据项目的默认 Git 远程自动选择正确的 GitLab 实例和身份验证令牌。 该模型允许无缝使用多个 GitLab 实例中的项目。你可以运行 git和 glab只需输入项目目录即可在工作时执行命令。但是,可以在项目之外使用 Glab,方法是设置 GITLAB_TOKEN和 GITLAB_URI(或者 GITLAB_HOST) shell 中的环境变量,然后指定 --repo使用您的命令进行标记以识别目标项目(在 OWNER/REPO格式)。例如,这可以让您在自动化脚本中方便地使用 Glab。 问题列出项目中的问题 issues list命令: $ glab issues listShowing 3 open issues in ilmiont/ardeidae that match your search (Page 1) #376 ilmiont/ardeidae#376 Console Input allow accessing full standard input string about 1 month ago #374 ilmiont/ardeidae#374 Basis support construction via compound typehints about 11 months ago #373 ilmiont/ardeidae#373 v3.1.0 unit tests about 11 months ago 使用 --page 标志切换到结果集中的后续页面。每页默认显示20条;这可以使用 --per-page 标志进行更改。 支持多个过滤标志。以下命令获取 v3.1.0 里程碑中并分配给您的所有带有 P1 标签的已解决问题: $ glab issue list --mine --milestone v3.1.0 --label P1 --closed运行 glab issues list --help 以了解所有支持的标志。 使用问题视图获取有关特定问题的详细信息: $ glab issues view 376open • opened by ilmiont about 1 month ago Console Input allow accessing full standard input string #376 php://input 0 upvotes • 0 downvotes • 0 comments Milestone: v3.1.0 要获取问题的评论,请将 --comments 标志添加到命令中。评论将被分页,就像问题列表命令一样。 您可以在默认浏览器中打开问题的 Web UI 页面: $ glab issue view 376 --web可以使用 note 命令针对问题创建注释(评论)。 -m 标志指定注释的 Markdown 文本: $ glab issue note 376 -m "This is no longer relevant"分别使用 close 和 reopen 命令关闭和重新打开问题: $ glab issue close 376$ glab issue reopen 376 要创建新问题,请运行 create 命令并传递适当的标志: $ glab issue create \--title "New Issue" \ --description "Demo issue" \ --milestone "v3.1.0" 系统将提示您确认问题的创建。您可以通过设置 -y 或 --yes 标志来跳过此操作。支持更多标志来定义问题的所有属性。尝试运行 glab issues create --help 来探索这些选项。 合并请求基本合并请求交互与问题的交互类似。使用 list 和 view 命令检索现有合并请求的详细信息。 approve、close 和 merge 命令将这些相应的操作应用于 MR: $ glab mr merge 100合并请求命令接受 ID 或源分支作为其参数。您可以使用以下命令将 demo-branch 的 MR 合并到主分支中: $ glab mr merge demo-branch您可以使用 diff 命令查看 MR 中包含的更改: $ glab mr diff 100彩色差异输出将以 Git 格式显示在您的终端中。 还可以在本地签出并切换到合并请求的源分支,而无需手动运行 Git 命令: $ glab mr checkout 100CI 管道通过运行 ci list 查看项目的管道结果: $ glab ci listShowing 3 pipelines on ilmiont/ardeidae (Page 1) (success) • #734 3.1.0-rc42 (about 9 days ago) (success) • #733 master (about 9 days ago) (success) • #732 Dbal-store-allow-upsert (about 9 days ago) view 命令提供对默认分支或特定分支上最新管道的作业结果的访问。新的终端屏幕将显示管道中的阶段: $ glab ci view$ glab ci view -b demo-branch 要触发新的管道运行,请执行 glab run 命令: $ glab ci run您可以指定从中获取管道的分支: $ glab ci run -b demo-branch还可以为运行设置 CI 变量: $ glab ci run --variables demo-var:demo-val,another-var:another-val您可以通过运行 ci trace 命令并使用交互式提示选择目标作业来访问作业日志。工件也可用:ci artifact 命令从最新管道下载工件,无论是默认分支还是由 -b 标志标识的指定分支。 最后,Glab 为工作目录中的 .gitlab-ci.yml 文件提供了一个内置的 linter。这使您可以方便地检查管道的有效性,而无需将文件复制并粘贴到 GitLab Web UI 中。 $ glab ci lintGetting contents in .gitlab-ci.yml Validating... ✓ CI yml is Valid! 任意 API 请求Glab 的命令是现有 GitLab API 端点的包装器。虽然本机支持多个 API,但还有更多 API 尚未作为命令实现。直接调用 API 可能很乏味,因为您需要通过手动设置请求标头来提供您的个人访问令牌。 Glab 包含一个实用程序命令,用于针对 API 发出任意经过身份验证的请求。 glab api 命令接受相对 URI 以在活动 GitLab 实例的上下文中进行请求。以下示例获取与 ID 为 1 的项目关联的 Git 标签: $ glab api projects/1/repository/tags原始 API 响应数据将以 JSON 格式发送到您的终端。 使用 -X 或 --method 标志设置请求的 HTTP 方法。您可以使用 -F 或 --field 标志提供请求正文数据: $ glab api projects/1/repository/tags -X POST --field tag_name=demo --field ref=main您可以通过设置 -H 或 --header 标志来包含自定义请求标头。 使用别名Glab 支持自定义命令别名,因此您可以快速访问常用功能。 通过运行 alias set 命令创建新别名: $ glab alias set issues "issue list"- Adding alias for issues: issue list ✓ Added alias. 现在,您可以通过运行 glab issues 列出项目中的问题: $ glab issuesShowing 3 open issues in ilmiont/ardeidae that match your search (Page 1) #376 ilmiont/ardeidae#376 Console Input allow accessing full standard input string about 1 month ago #374 ilmiont/ardeidae#374 Basis support construction via compound typehints about 11 months ago #373 ilmiont/ardeidae#373 v3.1.0 unit tests about 11 months ago 列出您使用 alias list 创建的所有别名: $ glab alias listci pipeline ci co mr checkout issues issue list 通过运行 alias delete 并传递其名称来删除别名: $ glab alias delete issues使用 Glab 管理 DevOpsGlab 是官方的 GitLab CLI。它允许您从终端管理整个 DevOps 流程。您可以创建问题、分配任务、审查合并请求、触发 CI 管道和标记发布,而无需在工具之间切换或学习 GitLab API。这减少了上下文切换并促进最常见工作流程的自动化。 通过访问 GitLab 数据以及代码和 Git 操作,您可以专注于手头的任务。如果您习惯在终端中工作,那么 CLI 的使用速度也比 Web UI 更快。除了 UI 和 API 之外,它是 GitLab 实例的第三个有价值的界面。 虽然本文介绍了使用 Glab 执行常见任务的基础知识,但您还可以探索更多内容。查看文档或尝试运行 glab help 和 glab 来探索所有可用功能。 现在,Glab 已完全合并为原生 GitLab 项目,承诺进一步开发以支持其他工作流程并实现社区请求。您可以通过在项目存储库中打开问题来向 GitLab 提供反馈。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |