正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLabでホストされるRunner

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Dedicated

GitLabホストRunnerを使用して、GitLab.comおよびGitLab DedicatedでCI/CDジョブを実行します。これらのRunnerは、さまざまな環境でアプリケーションをビルド、テスト、およびデプロイできます。

独自のRunnerを作成して登録するには、セルフマネージドRunnerを参照してください。

GitLab.comのホストRunner

  • 提供形態: GitLab.com

これらのRunnerは、GitLab.comと完全に統合されており、設定なしで、すべてのプロジェクトでデフォルトで有効になっています。ジョブは以下で実行できます:

GitLab.comホストRunnerのワークフロー

ホストRunnerを使用する場合:

  • 各ジョブは、特定のジョブ専用に新しくプロビジョニングされたVMで実行されます。
  • ジョブが実行される仮想マシンには、パスワードなしでsudoアクセスできます。
  • ストレージは、オペレーティングシステム、プリインストールされたソフトウェアを含むコンテナイメージ、およびクローンされたリポジトリのコピーによって共有されます。これは、ジョブで使用できる利用可能な空きディスク容量が削減されることを意味します。
  • タグなしジョブは、small Linux x86-64 Runnerで実行されます。

GitLab.comのホストRunnerによって処理されるジョブは、プロジェクトで設定されたタイムアウトに関係なく、3時間後にタイムアウトします。

GitLab.comのホストRunnerのセキュリティ

次のセクションでは、GitLab Runnerのビルド環境のセキュリティを強化する追加の組み込みレイヤーの概要について説明します。

GitLab.comのホストRunnerは次のように設定されています:

  • ファイアウォールルールは、一時的なVMからパブリックインターネットへの送信通信のみを許可します。
  • パブリックインターネットから一時的なVMへの受信通信は許可されていません。
  • ファイアウォールルールは、VM間の通信を許可しません。
  • 一時的な仮想マシンへの内部通信は、Runnerマネージャーからの通信のみ許可されます。
  • 一時的なRunnerの仮想マシンは、1つのジョブのみを提供し、ジョブの実行直後に削除されます。

GitLab.comでホストされるRunnerのアーキテクチャ図

次の図は、GitLab.comでホストされるRunnerのアーキテクチャ図を示しています。

GitLab.comアーキテクチャ向けホスト型Runner

Runnerがジョブペイロードを認証して実行する方法の詳細については、Runnerの実行フローを参照してください。

GitLab.comでホストされるRunnerのジョブ分離

ネットワーク上のRunnerを分離することに加えて、一時的なRunner仮想マシンはそれぞれ1つのジョブのみを提供し、ジョブの実行直後に削除されます。次の例では、3つのジョブがプロジェクトのパイプラインで実行されています。これらのジョブはそれぞれ、専用の一時的な仮想マシンで実行されます。

ジョブ分離

ビルドジョブはrunner-ns46nmmj-project-43717858で、テストジョブはf131a6a2runner-new2m-od-project-43717858で、デプロイジョブはrunner-tmand5m-project-43717858で実行されました。

GitLabは、CIジョブの完了直後に、Google Compute APIに一時的なRunner仮想マシンを削除するコマンドを送信します。Google Compute Engineハイパーバイザーは、仮想マシンと関連データを安全に削除するタスクを引き継ぎます。

GitLab.comのホストされるRunnerのセキュリティの詳細については、以下を参照してください:

GitLab.comのホストされるRunnerでのキャッシュ

ホストされるRunnerは、Google Cloud Storage(GCS)バケットに保存されている分散キャッシュを共有します。オブジェクトライフサイクル管理ポリシーに基づいて、過去14日間に更新されていないキャッシュコンテンツは自動的に削除されます。アップロードされたキャッシュアーティファクトの最大サイズは、キャッシュが圧縮されたアーカイブになった後、5 GBになる可能性があります。

キャッシュの仕組みの詳細については、GitLab.comのホストされるRunnerのアーキテクチャ図GitLab CI/CDでのキャッシュを参照してください。

GitLab.comのホストされるRunnerの価格設定

GitLab.comのホストされるRunnerで実行されるジョブは、ネームスペースに割り当てられたコンピューティング時間を消費します。これらのRunnerで使用できる時間数は、サブスクリプションプランまたは追加購入されたコンピューティング時間に含まれるコンピューティング時間によって異なります。

サイズに基づいてマシンタイプに適用されるコスト係数の詳細については、コスト係数を参照してください。

GitLab.comのホストされるRunnerのサービスレベル目標とリリースサイクル

当社のサービスレベル目標は、CI/CDジョブの90%を120秒以内に実行開始することです。エラー率は0.5%未満である必要があります。

最新バージョンのGitLab Runnerへの更新を、リリース後1週間以内に行うことを目指しています。すべてのGitLab Runnerの破壊的な変更は、非推奨の下にあります。

GitLabコミュニティのコントリビュートのためのホストされるRunner

  • 提供形態: GitLab.com

GitLabにコントリビュートする場合、ジョブはgitlab-shared-runners-manager-X.gitlab.com Runnerフリートによって選択され、GitLabプロジェクトと関連するコミュニティフォーク専用になります。

これらのRunnerは、当社のsmall Linux x86-64 Runnerと同じマシンタイプによってバックアップされています。GitLab.comのホストされるRunnerとは異なり、GitLabコミュニティのコントリビュートのためのホストされるRunnerは最大40回再利用されます。

人々にコントリビュートすることを奨励したいため、これらのRunnerは無料です。

GitLab Dedicated用ホストRunner

  • 提供形態: GitLab Dedicated

GitLab DedicatedのホストされるRunnerはオンデマンドで作成され、GitLab Dedicatedインスタンスと完全に統合されています。詳細については、GitLab DedicatedのホストされるRunnerを参照してください。

サポートされているイメージライフサイクル

macOSおよびWindowsのホストされるRunnerは、サポートされているイメージでのみジョブを実行できます。独自のイメージを持ち込むことはできません。サポートされているイメージには、次のライフサイクルがあります:

ベータ

新しいイメージはベータとしてリリースされます。これにより、一般公開前に、フィードバックを収集し、潜在的なイシューに対処できます。ベータイメージで実行されているジョブは、サービスレベル目標の対象外です。ベータイメージを使用する場合は、イシューを作成してフィードバックを提供できます。

一般公開

イメージは、ベータフェーズを完了し、安定していると見なされた後、一般公開になります。一般公開になるには、イメージは次の要件を満たす必要があります:

  • 報告されたすべての重大なバグを解決することによるベータフェーズの正常な完了
  • 基盤となるOSとインストールされているソフトウェアとの互換性

一般公開イメージで実行されるジョブは、定義されたサービスレベル目標の対象となります。

非推奨

一度に最大2つの一般公開イメージがサポートされます。新しい一般公開イメージがリリースされると、最も古い一般公開イメージは非推奨になります。非推奨イメージは更新されなくなり、3か月後に削除されます。

使用状況データ

GitLab Dedicatedでのコンピューティング時間におけるGitLabホスト型Runnerの使用量の推定値の表示が可能です。