GitLab Runner: ジョブの並列実行

このドキュメントはDockerイメージのビルドガイドの一部です。完全なガイドはこちらからご覧いただけます:StackheroランナーとDocker-in-Dockerを使って、GitLab CI/CDパイプラインからDockerイメージをビルドおよびプッシュする方法

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

Stackhero では、GitLab Runner cloud を簡単にご利用いただけるソリューションとしてご提供しています。GitLab CI/CD ジョブを効率的に処理できるよう設計されています。主な特長は以下の通りです:

  • 無制限の CI/CD 分数:分単位の課金はありませんので、必要なときにいつでもパイプラインを実行できます。
  • 複数ジョブの同時実行:複数のジョブを同時に実行し、パイプライン全体の処理速度を向上させます。
  • Docker executorDocker-in-Docker サポート:コンテナイメージのビルドやプッシュを効率化します。
  • GitLab.com およびあらゆる セルフホスト型 GitLab インスタンスに対応。
  • 高速な NVMe/SSD ディスクを搭載した プライベート専用 VM で、安定したビルド環境を提供します。
  • 🇪🇺 ヨーロッパ および 🇺🇸 USA リージョンでご利用可能です。

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

ご契約プランによって、同時に実行できるジョブ数(並列度)が決まります。同じステージ内のジョブは、並列度の上限まで同時に開始されます。つまり、複数の独立したジョブがある場合、最も遅いジョブが完了した時点でそのステージが終了し、すべてのジョブを順番に実行する必要はありません。

以下はシンプルな例です。

stages:
  - test

unit:
  stage: test
  image: node:22
  script: npm run test:unit

integration:
  stage: test
  image: node:22
  script: npm run test:integration

e2e:
  stage: test
  image: node:22
  script: npm run test:e2e

並列度を3以上に設定すれば、unitintegratione2eの各ジョブはすべて同時に実行されます。

CIでのDockerイメージビルドについてさらに詳しく知りたい場合は、公式GitLabドキュメントもご参照ください。