GitLab機能紹介 #6「GitLab CLI(GLab)」
こんにちは。SB C&Sの佐藤です。
本連載では開発サイクル全体を管理できるプラットフォームである「GitLab」で使用される主な機能について解説していきます。
GitLabについてご存知ない、もしくは名前は知っているけれど具体的にどんな機能があるか気になる、そんな方におすすめの連載となっております。
第6回目は「GitLab CLI(GLab)」について解説します。
GitLab CLI(GLab)
GitLab CLIはGitLabと対話するためのCLIです。GLabを使用することで、コマンドライン操作によるIssueやマージリクエストの操作、CLIから直接実行されているパイプラインの監視などが行えるようになります。
CLIからこのような操作が行えるため、慣れている方であればウィンドウの切り替えや画面表示の待ち時間を短縮し作業を行うことが可能となります。特にGitコマンドを既に習得済みの方であれば、むしろこちらの方が使いやすいという可能性もあります。
インストール/使用開始方法
インストール方法についての詳細は公式のREADME( https://gitlab.com/gitlab-org/cli/#installation )をご参照ください。
本節では大まかな流れのみ解説します。
1.GLabのインストール
以下のコマンドによりインストール/アップデートが可能です
- Homebrew
インストール:brew install glab
アップデート:brew upgrade glab
- その他
以下ページにて確認可能
https://gitlab.com/gitlab-org/cli/-/blob/main/docs/installation_options.md
またソースからビルドする方法もありますので、公式のインストールガイドをご確認ください。
2.認証設定
以下のいずれかの方法でGitLabへの認証を設定します。
-
OAuth(GitLab.comのみ)
-
パーソナルアクセストークン
・OAuth(GitLab.comのみ)
①「glab auth login」コマンドを入力
②ログインタイプで「com」を選択
③ログイン方法で「web」を選択
⇒検証環境では自動でwebページを表示することができなかったため、表示されたURL(コンソール内の青で塗りつぶされている部分)で直接ブラウザアクセス
④Webページで「Authorize」をクリック
⑤元のコンソールに認証に成功したことを表すログが表示される
・パーソナルアクセストークン
GitLabで発行したアクセストークンを使用し、「glab auth login」コマンドによりセットアップを行います。
セルフマネージド環境の場合はこちらでの認証となります。
3.その他構築オプション(環境変数)
- GITLAB_TOKEN:API 要求の認証トークン(*)
- GITLAB_URI:セルフホストの場合のGitLabサーバーURL(*)
- GITLAB_REPO:オプションを受け入れるコマンドに使用されるデフォルトのGitLabリポジトリ
- GITLAB_GROUP:マージリクエスト、課題、変数を一覧表示するために使用されるデフォルトのGitLabグループ
- GLAB_CONFIG_DIR:GLabのグローバル設定ファイルがあるディレクトリ(*)
(*):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
GitLabのIssueを操作する
例: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の製品情報やトライアル(無償試用版)をお申込みいただけます。
ぜひ、特設サイトをご確認ください。
この記事の著者:佐藤梨花
勤怠管理システムの開発(使用言語:Java)に約8年間従事。
現在はエンジニア時の経験を活かしたDevOpsやDX推進のプリセールスとして業務に精励しています。
DevOps Hubのアカウントをフォローして
更新情報を受け取る
-
Like on Facebook
-
Like on Feedly