0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GLab CLI 実践チュートリアル集

Last updated at Posted at 2025-12-09

GLab CLI その1 - ターミナルから GitLab を操る喜び - GLab CLI で開発体験が変わる

GLab CLI 実践チュートリアル集

チュートリアル 1: 初心者向け - インストールから最初の認証まで

このチュートリアルでは、GLab をインストールして、GitLab インスタンスに認証するまでの手順を説明します。

1.1 Homebrew でのインストール

macOS、Linux、Windows (WSL) を使用している場合は、Homebrew でインストールするのが最も簡単です。

brew install glab

インストール後、バージョンを確認して、正常にインストールされたことを確認します。

glab version

1.2 GitLab.com への認証

GitLab.com を使用している場合は、以下のコマンドで認証を開始します。

glab auth login

対話的なプロンプトが表示されます。以下の手順に従います。

  1. GitLab インスタンスとして GitLab.com を選択します。
  2. ログイン方法として Web を選択します。
  3. Web ブラウザが自動的に開き、GitLab.com の認可画面が表示されます。
  4. Authorize ボタンをクリックします。
  5. ターミナルに戻り、プロンプトに従って設定を完了します。

認証が完了すると、認証情報は ~/.config/glab-cli/config.yml に保存されます。

1.3 認証の確認

認証が正常に完了したかどうかを確認するには、以下のコマンドを実行します。

glab auth status

認証済みのホストと、現在のユーザー情報が表示されます。

1.4 最初のコマンド実行

認証が完了したら、簡単なコマンドを実行してみましょう。自分に割り当てられた Merge Request をリスト表示します。

glab mr list --assignee=@me

自分に割り当てられた MR がリスト表示されれば、GLab は正常に動作しています。


以下、適当にGitLab.com(またはSelf-HostedのGitLab)から、プロジェクトをGitCloneし、そのディレクトリ直下で以下のようにglabコマンドを打ち込んでみてください。超快適です。

チュートリアル 2: Merge Request 管理 - 作成から承認まで

このチュートリアルでは、GLab を使用して Merge Request を作成、確認、承認するワークフローを説明します。

2.1 新しいブランチの作成と変更

まず、新しいブランチを作成して、いくつかの変更を加えます。

git checkout -b feature/add-new-feature
echo "New feature content" > new_feature.txt
git add new_feature.txt
git commit -m "Add new feature"
git push -u origin feature/add-new-feature

2.2 Merge Request の作成

GLab を使用して Merge Request を作成します。

glab mr create --title "Add new feature" --description "This MR adds a new feature" --target-branch main

コマンドが成功すると、作成された MR の URL が表示されます。

2.3 Merge Request の詳細確認

作成した MR の詳細を確認します。MR 番号は前のコマンドの出力から取得できます。

glab mr view <mr-number>

MR のタイトル、説明、ステータス、レビュアーなどの情報が表示されます。

2.4 Merge Request のリスト表示

自分に割り当てられた MR をリスト表示します。

glab mr list --assignee=@me

レビューをリクエストされた MR を表示します。

glab mr list --reviewer=@me

2.5 Merge Request の承認

MR を承認します。

glab mr approve <mr-number>

2.6 Merge Request のマージ

MR をマージします。

glab mr merge <mr-number>

マージ後、ローカルブランチを削除します。

git checkout main
git pull origin main
git branch -d feature/add-new-feature

チュートリアル 3: Issue 管理 - 作成から解決まで

このチュートリアルでは、GLab を使用して Issue を作成、割り当て、ラベル付けするワークフローを説明します。

3.1 Issue の作成

新しい Issue を作成します。

glab issue create --title "Fix bug in login page" --description "Users are unable to log in with special characters in their password"

Issue が作成されると、Issue 番号が表示されます。

3.2 Issue の詳細確認

作成した Issue の詳細を確認します。

glab issue view <issue-number>

Issue のタイトル、説明、ステータス、割り当て先などの情報が表示されます。

3.3 Issue への割り当てとラベル付け

Issue を自分に割り当てます。

glab issue update <issue-number> --assignee @me

Issue にラベルを追加します。

glab issue update <issue-number> --label bug,urgent

3.4 Issue のリスト表示

自分に割り当てられた Issue をリスト表示します。

glab issue list --assignee=@me

特定のラベルを持つ Issue をリスト表示します。

glab issue list --label bug

3.5 Issue の解決

Issue に関連する修正を行い、Merge Request を作成します。

git checkout -b fix/login-special-chars
# 修正を行う
git add .
git commit -m "Fix login issue with special characters (fixes #<issue-number>)"
git push -u origin fix/login-special-chars
glab mr create --title "Fix login issue with special characters" --target-branch main

Merge Request のコミットメッセージに fixes #<issue-number> を含めることで、MR がマージされたときに Issue が自動的にクローズされます。


チュートリアル 4: CI/CD パイプライン監視 - パイプラインの確認とトラブルシューティング

このチュートリアルでは、GLab を使用して CI/CD パイプラインを監視し、ジョブのトラブルシューティングを行うワークフローを説明します。

4.1 最新のパイプラインを表示

最新のパイプラインの状態を確認します。

glab ci view

パイプラインのステータス、ジョブ数、実行時間などが表示されます。

4.2 パイプラインのジョブをリスト表示

パイプラインに含まれるすべてのジョブをリスト表示します。

glab job list

各ジョブのステータス、実行時間、ステージなどが表示されます。

4.3 失敗したジョブのログを確認

失敗したジョブのログを確認します。ジョブ ID は前のコマンドの出力から取得できます。

glab job trace <job-id>

ジョブのログが表示され、失敗の原因を特定できます。

4.4 失敗したジョブを再実行

失敗したジョブを再実行します。

glab job retry <job-id>

ジョブが再実行され、新しいログが生成されます。

4.5 特定のパイプラインを確認

特定のコミットやブランチのパイプラインを確認します。

glab ci view --branch <branch-name>

または、パイプライン ID を指定して確認します。

glab ci view <pipeline-id>

チュートリアル 5: 複数インスタンス管理 - GitLab.com と Self-Managed の両方を使い分ける

このチュートリアルでは、GLab を使用して複数の GitLab インスタンスを管理するワークフローを説明します。

5.1 GitLab Self-Managed インスタンスへの認証

GitLab Self-Managed インスタンスに認証します。

glab auth login --hostname gitlab.example.com

対話的なプロンプトが表示されます。以下の手順に従います。

  1. ログイン方法を選択します (OAuth、パーソナルアクセストークン、など)。
  2. 認証情報を入力します。
  3. 認証が完了します。

5.2 複数インスタンスの確認

認証済みのすべてのインスタンスを確認します。

glab auth status

複数のインスタンスが表示されます。

5.3 特定のインスタンスでコマンドを実行

特定のインスタンスでコマンドを実行するには、--host フラグを使用します。

glab issue list --host gitlab.example.com

または、環境変数を使用します。

GITLAB_HOST=gitlab.example.com glab issue list

5.4 デフォルトホストの設定

Git リポジトリの外でコマンドを実行する場合、デフォルトホストを設定できます。

glab config set -g host gitlab.example.com

この設定後、--host フラグを指定しなくても、Self-Managed インスタンスがデフォルトで使用されます。

5.5 ホスト単位の設定

ホスト単位で異なる設定を行うことができます。例えば、エディタを指定します。

glab config set editor vim --host gitlab.example.com

チュートリアル 6: CI/CD パイプライン内での活用 - パイプラインから GLab コマンドを実行

このチュートリアルでは、GitLab CI/CD パイプライン内で GLab を使用するワークフローを説明します。

6.1 パイプラインで GLab を使用するための準備

パイプラインで GLab を使用するには、Docker イメージに GLab をインストールするか、リリースページからバイナリをダウンロードします。以下は、Alpine Linux ベースのイメージを使用する例です。

stages:
  - build

build:
  stage: build
  image: alpine:latest
  before_script:
    - apk add --no-cache curl
    - curl -L https://gitlab.com/gitlab-org/cli/-/releases/download/v1.46.0/glab_1.46.0_Linux_x86_64.tar.gz | tar xz
    - mv glab /usr/local/bin/
  script:
    - echo "Building with GLab..."

6.2 CI ジョブトークンを使用した自動ログイン

CI ジョブトークンを使用して、自動的に認証します。

deploy:
  stage: deploy
  image: alpine:latest
  before_script:
    - apk add --no-cache curl
    - curl -L https://gitlab.com/gitlab-org/cli/-/releases/download/v1.46.0/glab_1.46.0_Linux_x86_64.tar.gz | tar xz
    - mv glab /usr/local/bin/
    - export GLAB_ENABLE_CI_AUTLOGIN=true
  script:
    - glab release list -R $CI_PROJECT_PATH

6.3 パイプラインから Issue を作成

パイプラインから Issue を作成します。

create_issue:
  stage: build
  image: alpine:latest
  before_script:
    - apk add --no-cache curl
    - curl -L https://gitlab.com/gitlab-org/cli/-/releases/download/v1.46.0/glab_1.46.0_Linux_x86_64.tar.gz | tar xz
    - mv glab /usr/local/bin/
    - export GLAB_ENABLE_CI_AUTLOGIN=true
  script:
    - glab issue create --title "Build completed" --description "Build for commit $CI_COMMIT_SHA completed successfully"

6.4 パイプラインから Merge Request を作成

パイプラインから Merge Request を作成します。

create_mr:
  stage: build
  image: alpine:latest
  before_script:
    - apk add --no-cache curl git
    - curl -L https://gitlab.com/gitlab-org/cli/-/releases/download/v1.46.0/glab_1.46.0_Linux_x86_64.tar.gz | tar xz
    - mv glab /usr/local/bin/
    - export GLAB_ENABLE_CI_AUTLOGIN=true
  script:
    - git config user.email "ci@example.com"
    - git config user.name "CI Bot"
    - git checkout -b auto-update-dependencies
    - echo "Updated dependencies" > dependencies.txt
    - git add dependencies.txt
    - git commit -m "Update dependencies"
    - git push -u origin auto-update-dependencies
    - glab mr create --title "Update dependencies" --target-branch main

チュートリアル 7: リリース管理 - リリースの作成と管理

このチュートリアルでは、GLab を使用してリリースを作成・管理するワークフローを説明します。

7.1 リリースの作成

リリースを作成します。

glab release create v1.0.0 --description "Release version 1.0.0"

リリースが作成されると、リリース URL が表示されます。

7.2 リリースの確認

作成したリリースを確認します。

glab release view v1.0.0

リリースの詳細情報が表示されます。

7.3 リリースのリスト表示

すべてのリリースをリスト表示します。

glab release list

7.4 リリースアセットのアップロード

リリースにアセット (バイナリ、ドキュメントなど) をアップロードします。

glab release upload v1.0.0 ./dist/app-1.0.0.tar.gz

チュートリアル 8: GitLab Duo との連携 - AI を活用した Git コマンド学習

このチュートリアルでは、GLab の GitLab Duo 機能を使用して、Git コマンドについて学習するワークフローを説明します。

8.1 基本的な Git コマンドについて質問

Git コマンドについて質問します。

glab duo ask "How do I rebase my branch?"

GitLab Duo が質問に答え、適切なコマンドと説明を提供します。

8.2 複雑な Git 操作について質問

より複雑な Git 操作について質問します。

glab duo ask "How do I squash commits?"

GitLab Duo が詳細な説明とコマンド例を提供します。

8.3 マージコンフリクトの解決について質問

マージコンフリクトの解決方法について質問します。

glab duo ask "How do I resolve merge conflicts?"

GitLab Duo がコンフリクト解決の手順を説明します。

8.4 Git ブランチ戦略について質問

Git ブランチ戦略について質問します。

glab duo ask "What is Git Flow and how do I use it?"

GitLab Duo が Git Flow ブランチ戦略について詳しく説明します。


まとめ

これら 8 つのチュートリアルを通じて、GLab の主要な機能と実践的な使い方を学ぶことができます。

  • チュートリアル 1: GLab の基本的なセットアップ
  • チュートリアル 2: Merge Request の管理
  • チュートリアル 3: Issue の管理
  • チュートリアル 4: CI/CD パイプラインの監視
  • チュートリアル 5: 複数インスタンスの管理
  • チュートリアル 6: CI/CD パイプライン内での活用
  • チュートリアル 7: リリース管理
  • チュートリアル 8: GitLab Duo との連携

各チュートリアルは独立しており、必要に応じて選択して学習できます。GLab を使いこなすことで、開発ワークフローがより効率的になり、ターミナルから GitLab のすべての機能を操作できるようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?