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

Linux上でホストされるRunner

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

GitLab.com向けのLinux上でホストされるRunnerは、Google Cloud Compute Engineで実行されます。各ジョブは、完全に分離された一時的な仮想マシン(VM)を取得します。デフォルトのリージョンはus-east1です。

VMは、Google Container-Optimized OS(COS)と、docker+machine executorを実行するDocker Engineの最新バージョンを使用します。マシンタイプと基盤となるプロセッサタイプが異なる可能性があります。また、ジョブが特定のプロセッサ設計に最適化されている場合、動作に一貫性がない可能性があります。

タグなしジョブは、small Linux x86-64 Runnerで実行されます。

Linux - x86-64で使用可能なマシンタイプ

GitLabは、Linux x86-64上のホストされたRunnerに対して、次のマシンタイプを提供しています。

RunnerタグvCPUメモリストレージ
saas-linux-small-amd64(デフォルト)28 GB30 GB
saas-linux-medium-amd64416 GB50 GB
saas-linux-large-amd64(PremiumおよびUltimateのみ)832 GB100 GB
saas-linux-xlarge-amd64(PremiumおよびUltimateのみ)1664 GB200 GB
saas-linux-2xlarge-amd64(PremiumおよびUltimateのみ)32128 GB200 GB

Linux - Arm64で使用可能なマシンタイプ

GitLabは、Linux Arm64上のホストされたRunnerに対して、次のマシンタイプを提供しています。

RunnerタグvCPUメモリストレージ
saas-linux-small-arm6428 GB30 GB
saas-linux-medium-arm64(PremiumおよびUltimateのみ)416 GB50 GB
saas-linux-large-arm64(PremiumおよびUltimateのみ)832 GB100 GB

Linux Arm上でホストされるRunnerでDocker-in-Dockerを使用すると、ネットワーク接続の問題が発生する可能性があります。この問題は、Google CloudとDockerの最大伝送単位(MTU)値が一致しない場合に発生します。この問題を解決するには、クライアント側のDocker設定で--mtu=1400を設定してください。詳細については、イシュー473739を参照してください。

コンテナイメージ

Linux上のRunnerはdocker+machine executorを使用しているため、.gitlab-ci.ymlファイルでimageを定義することで、任意のコンテナイメージを選択できます。選択したDockerイメージが、プロセッサアーキテクチャと互換性があることを確認してください。

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

Docker-in-Dockerのサポート

いずれかのsaas-linux-<size>-<architecture>タグが付いたRunnerは、Docker-in-Dockerをサポートするために、privilegedモードで実行するように設定されています。これらのRunnerを使用すると、Dockerイメージをネイティブにビルドしたり、分離されたジョブで複数のコンテナを実行したりできます。

gitlab-orgタグが付いたRunnerは、privilegedモードで実行されず、Docker-in-Dockerビルドには使用できません。

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

small以外のマシンタイプを使用するには、ジョブにtags:キーワードを追加します。次に例を示します。

job_small:
  script:
    - echo "This job is untagged and runs on the default small Linux x86-64 instance"

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

job_large:
  tags:
    - saas-linux-large-arm64
  script:
    - echo "This job runs on the large Linux Arm64 instance"