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

コンピューティング時間

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

CI/CDジョブを実行するプロジェクトによるインスタンスRunnerの使用量は、コンピューティング時間で測定されます。

一部のインストールタイプでは、ネームスペースコンピューティングクォータがあり、それにより使用できるコンピューティング時間が制限されます。

コンピューティングクォータは、管理者が管理するインスタンスRunnerのすべてに適用できます。

  • GitLab.comまたはGitLab Self-Managed上のすべてのインスタンスRunner
  • GitLab Dedicated上のすべてのセルフホストインスタンスRunner

コンピューティングクォータはデフォルトで無効になっていますが、トップレベルグループおよびユーザーネームスペースに対して有効にすることができます。GitLab.comでは、Freeネームスペースでの使用量を制限するために、そのクォータがデフォルトで有効になっています。有料サブスクリプションを購入すると、上限が上がります。

GitLabでホスティングされているGitLab Dedicated上のインスタンスRunnerに、インスタンスRunnerのコンピューティングクォータを適用することはできません。

インスタンスRunner

GitLab.comとGitLab Self-Managed上のインスタンスRunner、およびGitLab Dedicated上のセルフホストインスタンスRunnerの場合:

GitLab.comの場合:

  • 基本月間コンピューティングクォータは、サブスクリプションプランによって決まります。
  • 必要に応じて、追加のコンピューティング時間を購入できます。

コンピューティング時間の使用状況

コンピューティング使用量の計算

各ジョブのコンピューティング時間の使用量は、次の式で計算されます。

Job duration / 60 * Cost factor
  • ジョブの実行時間: ジョブの実行時間(秒単位)。createdまたはpendingステータスで費やされた時間は含まれません。
  • コスト係数: Runnerタイププロジェクトタイプに基づく数値。

この値がコンピューティング時間に換算され、ジョブのトップレベルネームスペースの消費ユニット数に加算されます。

たとえば、ユーザーaliceがパイプラインを実行した場合:

  • gitlab-orgネームスペースのプロジェクトでは、パイプライン内の各ジョブで使用されるコンピューティング時間は、aliceネームスペースではなく、gitlab-orgネームスペースの全体的な使用量に加算されます。
  • aliceネームスペースのパーソナルプロジェクトでは、コンピューティング時間は、ネームスペースの全体的な使用量に加算されます。

1つのパイプラインで使用されたコンピューティング時間は、そのパイプラインで実行されたすべてのジョブに要したコンピューティング時間の合計です。ジョブは同時に実行できるため、パイプラインのエンドツーエンドの実行時間よりも、合計コンピューティング使用量が多くなる可能性があります。

トリガージョブはRunner上で実行されないため、strategy:dependを使用してダウンストリームパイプラインのステータスを待機する場合でも、コンピューティング時間は消費されません。トリガーされたダウンストリームパイプラインは、他のパイプラインと同じようにコンピューティング時間を消費します。

使用量は月単位で追跡されます。各月の初日に、その月のすべてのネームスペースの使用量が0になります。

コスト係数

コンピューティング時間の消費率は、Runnerタイプとプロジェクト設定に応じて異なります。

GitLab.comでホストされるRunnerのコスト係数

GitLabでホストされるRunnerのコスト係数は、Runnerタイプ(Linux、Windows、macOS)と仮想マシンの設定によって異なります。

Runnerタイプマシンサイズコスト係数
Linux x86-64(デフォルト)small1
Linux x86-64medium2
Linux x86-64large3
Linux x86-64xlarge6
Linux x86-642xlarge12
Linux x86-64 + GPU対応medium、GPU standard7
Linux Arm64small1
Linux Arm64medium2
Linux Arm64large3
macOS M1medium6ステータス: ベータ版)
macOS M2 Prolarge12ステータス: ベータ版)
Windowsmedium1ステータス: ベータ版)

これらのコスト係数は、GitLab.comでホストされるRunnerに適用されます。

プロジェクトタイプに応じて一定の割引が適用されます。

プロジェクトタイプコスト係数使用されるコンピューティング時間
標準プロジェクトRunnerタイプに基づく(ジョブの実行時間 / 60 × コスト係数)を1分として換算
オープンソース団体向けGitLabプログラムのパブリックプロジェクト0.5ジョブ時間2分を1分として換算
GitLab Open Sourceプログラムプロジェクトのパブリックフォーク0.008ジョブ時間125分を1分として換算
GitLabプロジェクトへのコミュニティコントリビュート動的割引次のセクションを参照してください

GitLabプロジェクトへのコミュニティコントリビュート

コミュニティコントリビューターは、GitLabが管理するオープンソースプロジェクトにコントリビュートする際に、インスタンスRunnerで最大300,000分まで使用できます。300,000分の上限は、GitLab製品の一部であるプロジェクトにコントリビュートする場合にのみ適用されます。

インスタンスRunnerで利用できる合計分数は、他のプロジェクトのパイプラインで使用されたコンピューティング時間分だけ減少します。300,000分は、すべてのGitLab.comプランに適用されます。

コスト係数の計算式は次のとおりです。

  • Monthly compute quota / 300,000 job duration minutes = Cost factor

たとえば、Premiumプランの月次コンピューティングクォータが10,000の場合:

  • 10,000 / 300,000 = 0.03333333333コスト係数。

この割引されたコスト係数を適用するには、次の条件を満たす必要があります。

  • マージリクエストのソースプロジェクトは、gitlab-com/www-gitlab-comgitlab-org/gitlabなど、GitLabが管理するプロジェクトのフォークでなければなりません。
  • マージリクエストのターゲットプロジェクトは、そのフォークの親プロジェクトである必要があります。
  • パイプラインは、マージリクエストパイプライン、マージ結果パイプライン、またはマージトレインパイプラインである必要があります。

コンピューティング時間の使用量を削減する

プロジェクトで消費するコンピューティング時間が多すぎる場合は、次の方法を試して使用量を削減してください。

オープンソースプロジェクトを管理している場合、これらの改善により、コントリビューターのフォークプロジェクトにおけるコンピューティング時間の使用量も削減され、より多くのコントリビュートが可能になります。

詳細については、パイプライン効率性ガイドを参照してください。