2024.02.27

GitLab機能紹介 #6「GitLab CLI(GLab)」

佐藤梨花
SB C&S株式会社 テクニカルマーケティングセンター
このエントリーをはてなブックマークに追加

こんにちは。SB C&Sの佐藤です。

本連載では開発サイクル全体を管理できるプラットフォームである「GitLab」で使用される主な機能について解説していきます。
GitLabについてご存知ない、もしくは名前は知っているけれど具体的にどんな機能があるか気になる、そんな方におすすめの連載となっております。

第6回目は「GitLab CLI(GLab)」について解説します。

GitLab CLI(GLab)

GitLab CLIはGitLabと対話するためのCLIです。GLabを使用することで、コマンドライン操作によるIssueやマージリクエストの操作、CLIから直接実行されているパイプラインの監視などが行えるようになります。

CLIからこのような操作が行えるため、慣れている方であればウィンドウの切り替えや画面表示の待ち時間を短縮し作業を行うことが可能となります。特にGitコマンドを既に習得済みの方であれば、むしろこちらの方が使いやすいという可能性もあります。

gitlab_202402_01_01.png

インストール/使用開始方法

インストール方法についての詳細は公式のREADME( https://gitlab.com/gitlab-org/cli/#installation )をご参照ください。
本節では大まかな流れのみ解説します。

1.GLabのインストール

以下のコマンドによりインストール/アップデートが可能です

  • Homebrew
    インストール:brew install glab
    アップデート:brew upgrade glab

gitlab_202402_01_02.png

2.認証設定

以下のいずれかの方法でGitLabへの認証を設定します。

  • OAuth(GitLab.comのみ)

  • パーソナルアクセストークン

・OAuth(GitLab.comのみ)

 ①「glab auth login」コマンドを入力
 ②ログインタイプで「com」を選択
 ③ログイン方法で「web」を選択

gitlab_202402_01_03.png

  ⇒検証環境では自動でwebページを表示することができなかったため、表示されたURL(コンソール内の青で塗りつぶされている部分)で直接ブラウザアクセス

 ④Webページで「Authorize」をクリック

gitlab_202402_01_04.png

 ⑤元のコンソールに認証に成功したことを表すログが表示される

gitlab_202402_01_05.png

・パーソナルアクセストークン

GitLabで発行したアクセストークンを使用し、「glab auth login」コマンドによりセットアップを行います。
セルフマネージド環境の場合はこちらでの認証となります。

3.その他構築オプション(環境変数)

  • GITLAB_TOKENAPI 要求の認証トークン(*)
  • GITLAB_URI:セルフホストの場合のGitLabサーバーURL(*)
  • GITLAB_REPO:オプションを受け入れるコマンドに使用されるデフォルトのGitLabリポジトリ
  • GITLAB_GROUP:マージリクエスト、課題、変数を一覧表示するために使用されるデフォルトのGitLabグループ
  • GLAB_CONFIG_DIRGLabのグローバル設定ファイルがあるディレクトリ(*)

(*)CONFIGファイルにて設定するオプション

コマンド一例

Issuesやマージリクエスト等、GitLabの機能を操作するためのコマンドが多数用意されています。
今回はその中の一部をご紹介します。

glab api

GitLab APIに認証されたHTTPリクエストを行い、応答を出力します。endpoint 引数は、GitLab API v4 エンドポイントのパス、または"graphql" を使用して GitLab GraphQL API にアクセスします。

例:$ glab api projects/:fullpath/releases

glab ci

GitLab CI/CD パイプラインとジョブを操作する

例:glab ci run -b main

glab issue

GitLabIssueを操作する

例:glab issue create --label -confidential

glab mr

マージリクエストの作成、表示、管理

例:glab mr create --fill --label bugfix

glab variable

GitLabプロジェクトとグループ変数の管理

例:glab variable get -s SCOPE VAR_KEY

GitLab Duoとの連携

以下のコマンドを使用することで、GitLab Duo AI/MLを利用した機能を利用可能です。

glab ask
例:glab ask git list last 10 commit titles

この機能ではコマンドに関する質問を自然言語ですることが可能です。

そのため使用方法を忘れてしまった場合に毎回公式ドキュメントを検索せず、GLabで質問することで解決することができます。また実施したい内容について質問することで、コマンドの生成も行ってくれます。

※2024/02/13現在Experimentalの機能です

まとめ

GitLabをCLIで操作する「GLab」についてご紹介させていただきました。

GUIよりもCUIの方が好ましい技術者にとってはとても使い勝手の良い機能になっておりますので、ぜひ一度お試しください。

またGitLab Duoとの連携によりCLIに詳しくない方や、Git系コマンドについて詳しくない方でも比較的容易に取り組むことが可能となっている点も嬉しいポイントです。

次回はGitLabにおける「SAST/DAST」機能について解説します。アプリケーション品質に大きく関わる部分になりますので、ぜひ併せてご確認ください。

関連記事

「GitLab」製品情報
「GitLab」製品資料ダウンロード
「GitLab」無料試用版お申込み

本記事や「GitLab」に関するお問い合わせ

GitLabの特設サイトはこちら

GitLab特設サイトでは、GitLabの製品情報やトライアル(無償試用版)をお申込みいただけます。
ぜひ、特設サイトをご確認ください。

この記事の著者:佐藤梨花

SB C&S株式会社 テクニカルマーケティングセンター

勤怠管理システムの開発(使用言語:Java)に約8年間従事。
現在はエンジニア時の経験を活かしたDevOpsやDX推進のプリセールスとして業務に精励しています。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。