ターミナルから GitLab を操る:公式 CLI「glab」導入・活用ガイド

GitHub に gh があるように、GitLab には glab があります。ブラウザを開かずに Issue を確認したり、MR(マージリクエスト)を作成したり、CI/CD パイプラインの状況を監視したりできるため、エンジニアの生産性を大きく向上させてくれます。

1. インストール方法

devcontainer を使っていない場合は、ホスト側に glab をインストールして使います。devcontainer を使う場合は、コンテナイメージに glab をインストールしておくか、devcontainer の Dockerfile / devcontainer.json で導入しておきます。

一般的な手順としては、Dockerfilecurlglab の公式パッケージを取得して apt install するか、apt リポジトリからインストールする形です。コンテナ内で glab --version を実行して、インストールが正しくできていることを確認してください。

OS ごとの主要なインストールコマンドは以下の通りです。

OSインストールコマンド
macOSbrew install glab
Windows (winget)winget install glab
Windows (scoop)scoop install glab
Linux (Ubuntu/Debian)sudo apt install glab(※公式リポジトリ推奨)

インストール後、glab --version で正常にインストールされたか確認しましょう。


2. 初期設定(認証)

インストールが完了したら、GitLab アカウントと連携させます。

glab auth login

実行すると対話形式で以下の項目を聞かれます:

  1. GitLab インスタンスの種類: GitLab.com か 自前運用のサーバー(Self-Managed)かを選択。
  2. 認証方法: Web を選択するとブラウザが開いて簡単に認証できます。
  3. プロトコル: SSH または HTTPS を選択。

設定が完了すると、~/.config/glab-cli/config.yml に設定が保存されます。


3. devcontainer での認証情報共有

glab の認証情報は ~/.config/glab-cli/config.yml に保存されます。devcontainer をリビルドするとコンテナ内の ~/.config/glab-cli が消えて再ログインが必要になるため、ホスト側の設定を bind mount で共有しておくと便利です。

一般的には、.devcontainer/devcontainer.jsonmounts にホストの ~/.config/glab-cli を追加します。例:

"mounts": [
  "source=${localEnv:HOME}/.config/glab-cli,target=/home/vscode/.config/glab-cli,type=bind,consistency=cached"
]

もし gh など別の CLI も devcontainer 内で使うなら、同じように ~/.config/gh を共有することもできます。

ホスト側に ~/.config/glab-cli が存在していれば、ホストで一度 glab auth login しておけばコンテナ側でも同じ認証を使えます。ホストにディレクトリがない場合は、mkdir -p ~/.config/glab-cli で空ディレクトリを作成しておけばマウントが通ります。

このようにしておけば、glab の認証設定をホストと devcontainer で共通化し、コンテナ再構築後も再ログイン不要で作業を続けやすくなります。

4. よく使う基本コマンド集

glab のコマンド体系は glab <リソース名> <アクション> という形式で、gh と非常に似ています。

■ Merge Request (MR) を操作する

開発のメイン作業となる MR 操作です。

  • MR の一覧表示: glab mr list
  • MR の作成: glab mr create --fill(現在のブランチから自動入力で作成)
  • MR の詳細表示: glab mr view <id>
  • MR を承認: glab mr approve <id>
  • MR をマージ: glab mr merge <id>

■ Issue (課題) を管理する

  • Issue 一覧: glab issue list
  • Issue 作成: glab issue create -t "タイトル" -description "内容"

■ CI/CD パイプラインを確認する

glab 独自の強力な機能の一つが、CI パイプラインのリアルタイム監視です。

  • パイプラインの状態表示: glab pipeline status
  • 実行中のログをリアルタイム表示: glab pipeline ci view
  • 失敗したジョブの再実行: glab ci retry

4. ghglab の主な対応表

GitHub CLI に慣れている方向けのクイック比較です。

機能GitHub (gh)GitLab (glab)
認証gh auth loginglab auth login
PR / MR 作成gh pr createglab mr create
PR / MR チェックアウトgh pr checkout <id>glab mr checkout <id>
リポジトリ作成gh repo createglab project create
CI 監視gh run watchglab pipeline ci view

5. 自社運用の GitLab (Self-Managed) で使うコツ

glab は GitLab.com だけでなく、会社などで独自に立てている GitLab サーバーでも使えます。その場合、環境変数でホストを指定しておくと便利です。

export GITLAB_HOST=gitlab.example.com

まとめ

glab を導入することで、「コードを書く → プッシュする → ブラウザで MR を作る → CI の完了を待つ」という一連の流れをターミナルから一歩も出ずに行えるようになります。

まずは glab mr list から始めて、快適な GitLab ライフを送りましょう!


参考リンク:

Hugo で構築されています。
テーマ StackJimmy によって設計されています。