Linux上のSaaSランナー

Linux 上の SaaS ランナーでジョブを実行する場合、ランナーは自動スケーリングされたエフェメラル仮想マシン(VM) インスタンス上にあります。VM のデフォルトリージョンはus-east1 です。

各VMはGoogle Container-Optimized OS(COS) とdocker+machine Executorを実行するDocker Engineの最新バージョンを使用します。

Linux(x86-64)で利用可能なマシンタイプ

Linux上のSaaSランナー向けに、GitLabは様々なマシンタイプを提供しています。Free、Premium、Ultimateプランのお客様には、これらのインスタンス上のジョブは、お客様のネームスペースに割り当てられたコンピュートクォータを消費します。

ランナータグvCPUメモリストレージ
saas-linux-small-amd6428 GB25 GB
saas-linux-medium-amd64416 GB50 GB
saas-linux-large-amd64 832 GB100 GB
saas-linux-xlarge-amd64 1664 GB200 GB
saas-linux-2xlarge-amd64 32128 GB200 GB

small マシンタイプはデフォルトとして設定されています。.gitlab-ci.yml ファイルにtagキーワードが指定されていない場合、ジョブはこのデフォルトの Runner で実行されます。

Linux上のすべてのSaaS Runnerは現在、GCPのn2d-standard gerneral-purpose compute上で実行されます。マシンの種類と基礎となるプロセッサの種類は変更可能です。特定のプロセッサ設計に最適化されたジョブは、動作が一貫しない可能性があります。

コンテナイメージ

Linux 上の Runner はdocker+machine Executor を使用しているため、.gitlab-ci.yml ファイルにimage を定義することで、任意のコンテナイメージを選択することができます。

イメージが設定されていない場合、デフォルトはruby:3.1 です。

DockerサポートのDocker

Runnerはprivileged モードで実行するように設定されており、Docker in Dockerをサポートし、Dockerイメージをネイティブにビルドしたり、隔離されたジョブ内で複数のコンテナを実行したりすることができます。

SaaSランナーでのキャッシュ

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

キャッシュの仕組みの詳細については、GitLab CI/CDのキャッシュを参照してください。

.gitlab-ci.yml ファイルの例

small 以外のマシンタイプを使用するには、ジョブにtags: キーワードを追加してください。例えば

job_small:
 script:
  - echo "this job runs on the default (small) Linux instance"

job_medium:
 tags:
  - saas-linux-medium-amd64
 script:
  - echo "this job runs on the medium Linux instance"

job_large:
 tags:
  - saas-linux-large-amd64
 script:
  - echo "this job runs on the large Linux instance"

GitLabコミュニティ貢献者のためのSaaS Runner

GitLabに貢献したい場合、ジョブはGitLabプロジェクトや関連コミュニティのフォーク専用のランナー(gitlab-shared-runners-manager-X.gitlab.com )によりピックアップされます。

これらのRunnerは私たちのsmall Runnerと同じマシンタイプによってバックアップされています。Linux上で最もよく使われるSaaS Runnerとは異なり、各仮想マシンは最大40回まで再利用されます。

貢献することを奨励するため、これらのRunnerは無料です。

クローン前スクリプト (非推奨)

この機能はGitLab 15.9で非推奨となり、17.0で削除される予定です。代わりにpre_get_sources_script を使ってください。