GitHub に gh があるように、GitLab には glab があります。ブラウザを開かずに Issue を確認したり、MR(マージリクエスト)を作成したり、CI/CD パイプラインの状況を監視したりできるため、エンジニアの生産性を大きく向上させてくれます。
1. インストール方法
devcontainer を使っていない場合は、ホスト側に glab をインストールして使います。devcontainer を使う場合は、コンテナイメージに glab をインストールしておくか、devcontainer の Dockerfile / devcontainer.json で導入しておきます。
一般的な手順としては、Dockerfile に curl で glab の公式パッケージを取得して apt install するか、apt リポジトリからインストールする形です。コンテナ内で glab --version を実行して、インストールが正しくできていることを確認してください。
OS ごとの主要なインストールコマンドは以下の通りです。
| OS | インストールコマンド |
|---|---|
| macOS | brew 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
実行すると対話形式で以下の項目を聞かれます:
- GitLab インスタンスの種類: GitLab.com か 自前運用のサーバー(Self-Managed)かを選択。
- 認証方法:
Webを選択するとブラウザが開いて簡単に認証できます。 - プロトコル:
SSHまたはHTTPSを選択。
設定が完了すると、~/.config/glab-cli/config.yml に設定が保存されます。
3. devcontainer での認証情報共有
glab の認証情報は ~/.config/glab-cli/config.yml に保存されます。devcontainer をリビルドするとコンテナ内の ~/.config/glab-cli が消えて再ログインが必要になるため、ホスト側の設定を bind mount で共有しておくと便利です。
一般的には、.devcontainer/devcontainer.json の mounts にホストの ~/.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. gh と glab の主な対応表
GitHub CLI に慣れている方向けのクイック比較です。
| 機能 | GitHub (gh) | GitLab (glab) |
|---|---|---|
| 認証 | gh auth login | glab auth login |
| PR / MR 作成 | gh pr create | glab mr create |
| PR / MR チェックアウト | gh pr checkout <id> | glab mr checkout <id> |
| リポジトリ作成 | gh repo create | glab project create |
| CI 監視 | gh run watch | glab pipeline ci view |
5. 自社運用の GitLab (Self-Managed) で使うコツ
glab は GitLab.com だけでなく、会社などで独自に立てている GitLab サーバーでも使えます。その場合、環境変数でホストを指定しておくと便利です。
export GITLAB_HOST=gitlab.example.com
まとめ
glab を導入することで、「コードを書く → プッシュする → ブラウザで MR を作る → CI の完了を待つ」という一連の流れをターミナルから一歩も出ずに行えるようになります。
まずは glab mr list から始めて、快適な GitLab ライフを送りましょう!
参考リンク: