GitLab Runner: はじめに

Stackhero の GitLab Runner を GitLab.com、Stackhero for GitLab、またはご自身の GitLab サーバーに接続し、数分で最初のパイプラインを実行する方法

👋 Stackhero ドキュメントへようこそ!

Stackhero では、GitLab Runner cloud のシンプルなソリューションを提供しており、GitLab CI/CD ジョブの実行を効率的かつ手間なく行えます。主な特長は以下の通りです:

  • 無制限の CI/CD 分数:パイプラインを必要なだけ何度でも実行でき、分単位の課金や予期しない追加料金はありません。
  • 複数のジョブを同時実行:複数のジョブを並列で実行し、開発スピードを向上できます。
  • Docker executorDocker-in-Docker サポート:CI/CD プロセスの一部として、コンテナイメージのビルドやプッシュを簡単に行えます。
  • GitLab.com および セルフマネージド GitLab インスタンスの両方にシームレスに対応。
  • 高速な NVMe/SSD ストレージを備えたプライベートかつ専用のインフラストラクチャにより、安定した予測可能なビルドパフォーマンスを実現します。
  • 🇪🇺 ヨーロッパ および 🇺🇸 USA のリージョンでご利用いただけますので、チームのニーズに合わせて選択可能です。

時間を節約:最初の GitLab Runner を接続し、数分でパイプラインの実行を開始できます!

GitLab Runner は、GitLab CI/CD ジョブを実行するエージェントです。パイプラインが実行されるたびに、Runner が各ジョブを取得し、分離された Docker コンテナ内で実行し、その結果を GitLab に報告します。

Stackhero では、Runner は常にプライベートで専用のインフラストラクチャ上で稼働します。従量課金や利用制限はありません。CI/CD の実行分数は無制限です。ご契約プランに応じて、Runner は複数のジョブを同時に処理できるため、ビルドのスループットを簡単にスケールできます。

このガイドでは、Stackhero の Runner を GitLab に接続し、最初のパイプラインを迅速に実行する方法をご案内します。

Stackhero ダッシュボードから、新しい GitLab Runner サービスを作成し、ワークフローに合ったプランを選択できます。プランによって利用可能な CPU、RAM、同時実行ジョブ数(GitLab Runner の concurrent 設定に対応:Runner が並列で処理できるジョブ数)が決まります。

Runner の準備は約 2 分で完了します。

Runner は Runner 認証トークン を使って GitLab に接続します。このトークンは GitLab で発行し、Runner のスコープも選択します:

  • プロジェクト Runner: プロジェクトを開き、Settings > CI/CD > Runners > New project runner へ進みます。
  • グループ Runner: グループを開き、Settings > CI/CD > Runners > New group runner へ進みます。
  • インスタンス Runner(セルフマネージド GitLab のみ): Admin area > CI/CD > Runners > New instance runner へ進みます。

Runner 作成時に以下の設定が可能です:

  • タグ(例:dockerstackhero)を追加し、ジョブからこの Runner をターゲットにできます。
  • タグなしジョブの実行を許可することで、タグが付いていないジョブも処理できます。

GitLab からは glrt- で始まるRunner 認証トークンが発行されます。このトークンは Runner が GitLab へ認証するために使用するため、安全に保管してください。

以前の registration token を使った登録方法は非推奨となっています。上記の手順で Runner 追加時に作成される Runner 認証トークンglrt-...)をご利用ください。

詳細は 公式 GitLab Runner 登録ドキュメント をご参照ください。

Stackhero ダッシュボードに戻り、GitLab Runner サービスの設定画面を開き、以下の情報を入力してください:

  • GitLab URL: GitLab.com の場合は https://gitlab.com、セルフマネージド GitLab の場合はそのインスタンスの URL を指定します。(Stackhero 上で GitLab をご利用の場合は、https://git.your-company.com などになります。)
  • ステップ 2 で取得した Runner 認証トークンglrt-...
  • 許可する 同時実行ジョブ数

設定を保存すると、Runner が GitLab に接続され、設定した Runners ページにオンラインとして表示されます。

リポジトリのルートに .gitlab-ci.yml ファイルを追加し、パイプラインを定義します:

stages:
  - build
  - test

build:
  stage: build
  image: node:22
  script:
    - npm ci
    - npm run build

test:
  stage: test
  image: node:22
  script:
    - npm test

変更をコミットしてプッシュすると、GitLab がパイプラインをトリガーし、Stackhero Runner がジョブを実行します。Runner 作成時にタグを追加した場合、以下のようにジョブでタグを指定できます:

build:
  stage: build
  tags:
    - stackhero
  image: node:22
  script:
    - npm ci
    - npm run build

これで、パイプラインは専用 Runner 上で実行され、ビルド分数や利用制限を気にせず運用できます。

パイプラインから Docker イメージのビルドやプッシュを行いたい場合は、Docker イメージのビルド をご覧ください。