Runnerを管理する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLab Runnerには次のタイプがあり、アクセスを許可する相手に基づいて利用することができます:
- インスタンスRunnerは、GitLabインスタンス内のすべてのグループおよびプロジェクトで利用できます。
- グループRunnerは、グループ内のすべてのプロジェクトとサブグループで利用できます。
- プロジェクトRunnerは、特定のプロジェクトに関連付けられています。通常、プロジェクトRunnerは一度に1つのプロジェクトで使用されます。
インスタンスRunner
インスタンスRunnerは、GitLabインスタンス内のすべてのプロジェクトで利用できます。
同様の要件を持つ複数のジョブがある場合は、インスタンスRunnerを使用します。多数のプロジェクトに対して複数のRunnerをアイドル状態にするのではなく、少数のRunnerを使用して複数のプロジェクトを処理できます。
GitLab Self-Managedを使用している場合、管理者は以下を実行できます:
- GitLab Runnerをインストールし、インスタンスRunnerを登録します。
- インスタンスRunnerのグループごとのコンピューティング時間の最大数を設定します。
GitLab.comを使用している場合:
- GitLabが管理するインスタンスRunnerのリストから選択できます。
- インスタンスRunnerは、アカウントに含まれているコンピューティング時間を消費します。
Runner認証トークンを使用してインスタンスRunnerを作成する
前提要件:
- 管理者である必要があります。
Runnerを作成すると、登録に使用するRunner認証トークンが割り当てられます。Runnerは、ジョブキューからジョブを取得するときに、トークンを使用してGitLabで認証します。
インスタンスRunnerを作成するには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。新しいナビゲーションをオンにしている場合は、左側のサイドバーの下部にある管理者を選択します。
- CI/CD > Runnersを選択します。
- New instance runner(新しいインスタンスRunner)を選択します。
- GitLab Runnerがインストールされているオペレーティングシステムを選択します。
- タグセクションのタグフィールドに、ジョブタグを入力してRunnerが実行できるジョブを指定します。このRunnerのジョブタグがない場合は、Run untagged(タグなしで実行)を選択します。
- オプション。GitLabに表示するRunnerの説明を追加するには、Runnerの説明フィールドで、Runnerの説明を入力します。
- オプション。設定セクションで、その他の設定を追加します。
- Runnerを作成を選択します。
- 画面の指示に従って、コマンドラインからRunnerを登録します。コマンドラインからプロンプトが表示されたら、次のようにします:
GitLab instance URLには、GitLabインスタンスのURLを使用します。たとえば、プロジェクトがgitlab.example.com/yourname/yourprojectでホストされている場合、GitLabインスタンスのURLはhttps://gitlab.example.comです。executorには、executorのタイプを入力します。executorは、Runnerがジョブを実行する環境です。
APIを使用してRunnerを作成することもできます。
Runner認証トークンは、登録中に限られた時間だけUIに表示されます。Runnerを登録すると、認証トークンはconfig.tomlに保存されます。
登録トークンを使用してインスタンスRunnerを作成する(非推奨)
ランナー登録トークンを渡し、特定の設定引数をサポートするオプションはレガシーと見なされ、推奨されません。Runner作成ワークフローを使用して、Runnerを登録するための認証トークンを生成します。このプロセスは、Runnerの所有権の完全なトレーサビリティを提供し、Runnerフリートのセキュリティを強化します。詳細については、新しいRunner登録ワークフローに移行するを参照してください。
前提要件:
- Runner登録トークンは、管理者エリアで有効になっている必要があります。
- 管理者である必要があります。
インスタンスRunnerを作成するには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。新しいナビゲーションをオンにしている場合は、左側のサイドバーの下部にある管理者を選択します。
- CI/CD > Runnersを選択します。
- インスタンスRunnerを登録を選択します。
- 登録トークンをコピーします。
- Runnerを登録します。
インスタンスRunnerを一時停止または再開する
前提要件:
- 管理者である必要があります。
Runnerを一時停止して、GitLabインスタンス内のグループおよびプロジェクトからのジョブを受け入れないようにすることができます。
- 左側のサイドバーの下部で、管理者を選択します。新しいナビゲーションをオンにしている場合は、左側のサイドバーの下部にある管理者を選択します。
- CI/CD > Runnersを選択します。
- 検索ボックスに、Runnerの説明を入力するか、Runnerリストをフィルタリングします。
- RunnerリストのRunnerの右側で、次のように操作します:
- Runnerを一時停止するには、停止( )を選択します。
- Runnerを再開するには、再開( )を選択します。
インスタンスRunnerを削除する
前提要件:
- 管理者である必要があります。
インスタンスRunnerを削除すると、GitLabインスタンスから完全に削除され、グループやプロジェクトで使用できなくなります。ジョブの受け入れを一時的に停止する場合は、代わりにRunnerを一時停止できます。
単一または複数のインスタンスRunnerを削除するには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。新しいナビゲーションをオンにしている場合は、左側のサイドバーの下部にある管理者を選択します。
- CI/CD > Runnersを選択します。
- 検索ボックスに、Runnerの説明を入力するか、Runnerのリストをフィルタリングします。
- インスタンスRunnerを削除します:
- 単一のRunnerを削除するには、Runnerの横にあるRunnerを削除( )を選択します。
- 複数のインスタンスRunnerを削除するには、各Runnerのチェックボックスをオンにし、一括削除を選択します。
- すべてのRunnerを削除するには、Runnerリストの上部にあるチェックボックスをオンにし、一括削除を選択します。
- 件のRunnerを永久に削除を選択します。
プロジェクトのインスタンスRunnerを有効にする
GitLab.comでは、デフォルトでインスタンスRunnerがすべてのプロジェクトで有効になっています。
GitLab Self-Managedでは、管理者はすべての新しいプロジェクトでインスタンスRunnerを有効にすることができます。
既存のプロジェクトの場合、管理者はインスタンスRunnerをインストールして登録する必要があります。
プロジェクトのインスタンスRunnerを有効にするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- このプロジェクトのインスタンスRunnerを有効にするの切り替えをオンにします。
グループのインスタンスRunnerを有効にする
グループのインスタンスRunnerを有効にするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- Turn on instance runners for this group(このグループのインスタンスRunnerを有効にする)の切り替えをオンにします。
プロジェクトのインスタンスRunnerを無効にする
個々のプロジェクトまたはグループのインスタンスRunnerを無効にできます。プロジェクトまたはグループのオーナーロールを持っている必要があります。
プロジェクトのインスタンスRunnerを無効にするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- インスタンスRunnerエリアで、Turn on runners for this project(このプロジェクトのランナーを有効にする)の切り替えをオフにします。
次の場合、インスタンスRunnerはプロジェクトで自動的に無効になります:
- 親グループのインスタンスRunner設定が無効になっている場合。
- この設定のオーバーライドがプロジェクトで許可されていない場合。
グループのインスタンスRunnerを無効にする
グループのインスタンスRunnerを無効にするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- このグループのインスタンスRunnerを有効にするの切り替えをオフにします。
- オプション。インスタンスRunnerを個々のプロジェクトまたはサブグループで有効にできるようにするには、プロジェクトとサブグループがグループ設定を上書きできるようにしますを選択します。
インスタンスRunnerがジョブを選択する方法
インスタンスRunnerは、フェアユースキューを使用してジョブを処理します。このキューは、プロジェクトが数百ものジョブを作成して、利用可能なすべてのインスタンスRunnerリソースを使用するのを防ぎます。
フェアユースキューアルゴリズムは、インスタンスRunnerですでに実行されているジョブの数が最も少ないプロジェクトに基づいてジョブを割り当てます。
たとえば、次のジョブがキューにあるとします:
- プロジェクト1のジョブ1
- プロジェクト1のジョブ2
- プロジェクト1のジョブ3
- プロジェクト2のジョブ4
- プロジェクト2のジョブ5
- プロジェクト3のジョブ6
複数のCI/CDジョブが同時に実行される場合、フェアユースアルゴリズムは次の順序でジョブを割り当てます:
- ジョブ1は、実行中のジョブがないプロジェクト(つまり、すべてのプロジェクト)からのジョブ番号が最も小さいため、最初に割り当てられます。
- ジョブ4が次に割り当てられます。これは、実行中のジョブがないプロジェクト(プロジェクト1には実行中のジョブがある)からのジョブ番号が最も小さいのは4になるからです。
- その次にジョブ6が割り当てられます。これは、実行中のジョブがないプロジェクト(プロジェクト1および2には実行中のジョブがある)からのジョブ番号が最も小さいのは6になるからです。
- その次にジョブ2が割り当てられます。これは、実行中のジョブの数が最も少ないプロジェクト(それぞれ1つ)の中で、ジョブ番号が最も小さいのは2になるからです。
- その次にジョブ5が割り当てられます。これは、プロジェクト1には現在実行中のジョブが2つあり、プロジェクト2とプロジェクト3の間で残っている最も小さいジョブ番号はジョブ5になるからです。
- 最後にジョブ3が割り当てられます。このジョブしか残っていないからです。
一度に1つのジョブのみが実行される場合、フェアユースアルゴリズムは次の順序でジョブを割り当てます:
- ジョブ1は、実行中のジョブがないプロジェクト(つまり、すべてのプロジェクト)からのジョブ番号が最も小さいため、最初に選択されます。
- ジョブ1が完了します。
- 次はジョブ2です。これは、ジョブ1が終了すると、すべてのプロジェクトで実行中のジョブ数が再び0となり、2が利用可能な最小ジョブ番号になるからです。
- その次はジョブ4です。これは、プロジェクト1がジョブを実行しているため、実行中のジョブがないプロジェクト(プロジェクト2および3)からの最小番号は4になるからです。
- ジョブ4が完了します。
- その次はジョブ5です。これは、ジョブ4が終了したため、プロジェクト2では実行中のジョブが再び0になるからです。
- その次はジョブ6です。これは、プロジェクト3が、実行中のジョブがない唯一のプロジェクトになるからです。
- 最後に、ジョブ3が唯一残っているジョブであるため、次に来ます。
グループRunner
グループ内のすべてのプロジェクトにRunnerフリートへのアクセスを許可する場合は、グループRunnerを使用します。
グループRunnerは、先入れ先出しキューを使用してジョブを処理します。
Runner認証トークンを使用してグループRunnerを作成する
前提要件:
- グループのオーナーロールを持っている必要があります。
GitLab Self-ManagedまたはGitLab.comのグループRunnerを作成できます。Runnerを作成すると、登録に使用するRunner認証トークンが割り当てられます。Runnerは、ジョブキューからジョブを取得するときに、トークンを使用してGitLabで認証します。
グループRunnerを作成するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- ビルド > Runnersを選択します。
- New group runner(新しいグループRunner)を選択します。
- タグセクションのタグフィールドに、ジョブタグを入力してRunnerが実行できるジョブを指定します。このRunnerのジョブタグがない場合は、Run untagged(タグなしで実行)を選択します。
- オプション。Runnerの説明フィールドで、GitLabに表示するRunnerの説明を追加します。
- オプション。設定セクションで、その他の設定を追加します。
- Runnerを作成を選択します。
- GitLab Runnerがインストールされているプラットフォームを選択します。
- 画面に表示される指示に従います:
- Linux、macOS、およびWindowsの場合、コマンドラインからプロンプトが表示されたら、次のようにします:
GitLab instance URLには、GitLabインスタンスのURLを使用します。たとえば、プロジェクトがgitlab.example.com/yourname/yourprojectでホストされている場合、GitLabインスタンスのURLはhttps://gitlab.example.comです。executorには、executorのタイプを入力します。executorは、Runnerがジョブを実行する環境です。
- Google Cloudの場合は、Google CloudでのRunnerのプロビジョニングを参照してください。
- Linux、macOS、およびWindowsの場合、コマンドラインからプロンプトが表示されたら、次のようにします:
APIを使用してRunnerを作成することもできます。
Runner認証トークンは、登録中のごく短い時間だけUIに表示されます。
登録トークンを使用してグループRunnerを作成する(非推奨)
ランナー登録トークンを渡し、特定の設定引数をサポートするオプションはレガシーと見なされ、推奨されません。Runner作成ワークフローを使用して、Runnerを登録するための認証トークンを生成します。このプロセスは、Runnerの所有権の完全なトレーサビリティを提供し、Runnerフリートのセキュリティを強化します。詳細については、新しいRunner登録ワークフローに移行するを参照してください。
前提要件:
- Runner登録トークンは、トップレベルグループで有効になっている必要があります。
- グループのオーナーロールを持っている必要があります。
グループRunnerを作成するには、次の手順に従います:
- GitLab Runnerをインストールします。
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- ビルド > Runnersを選択します。
- 右上隅で、グループRunnerを登録を選択します。
- Runnerのインストール手順と登録手順を表示を選択します。これらの手順には、トークン、URL、およびRunnerを登録するコマンドが含まれています。
または、登録トークンをコピーし、Runnerを登録する方法のドキュメントに従うこともできます。
グループRunnerを表示する
前提要件:
- グループのメンテナーロールまたはオーナーロールを持っている必要があります。
グループとそのサブグループおよびプロジェクトのすべてのRunnerを表示できます。これは、GitLab Self-ManagedまたはGitLab.comで行うことができます。
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- ビルド > Runnersを選択します。
グループRunnerをフィルタリングして継承されたもののみを表示する
リスト内のすべてのRunnerを表示するか、インスタンスまたは他のグループから継承されたRunnerのみを表示するかを選択できます。
デフォルトでは、継承されたもののみが表示されます。
インスタンスRunnerや他のグループのRunnerなど、インスタンスで使用可能なすべてのRunnerを表示するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- ビルド > Runnersを選択します。
- リストの上にある継承されたもののみ表示の切り替えをオフにします。
グループRunnerを一時停止または再開する
前提要件:
- グループの管理者であるか、オーナーロールを持っている必要があります。
Runnerを一時停止して、GitLabインスタンス内のサブグループおよびプロジェクトからのジョブを受け入れないようにすることができます。複数のプロジェクトで使用されているグループRunnerを一時停止すると、すべてのプロジェクトでRunnerが一時停止します。
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- ビルド > Runnersを選択します。
- 検索ボックスに、Runnerの説明を入力するか、Runnerリストをフィルタリングします。
- RunnerリストのRunnerの右側で、次のように操作します:
- Runnerを一時停止するには、停止( )を選択します。
- Runnerを再開するには、再開( )を選択します。
グループRunnerを削除する
前提要件:
- グループの管理者であるか、オーナーロールを持っている必要があります。
グループRunnerを削除すると、GitLabインスタンスから完全に削除され、サブグループとプロジェクトで使用できなくなります。ジョブの受け入れを一時的に停止する場合は、代わりにRunnerを一時停止できます。
単一または複数のグループRunnerを削除するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- ビルド > Runnersを選択します。
- 検索ボックスに、Runnerの説明を入力するか、Runnerのリストをフィルタリングします。
- グループRunnerを削除します:
- 単一のRunnerを削除するには、Runnerの横にあるRunnerを削除( )を選択します。
- 複数のインスタンスRunnerを削除するには、各Runnerのチェックボックスをオンにし、一括削除を選択します。
- すべてのRunnerを削除するには、Runnerリストの上部にあるチェックボックスをオンにし、一括削除を選択します。
- 件のRunnerを永久に削除を選択します。
無効なグループRunnerをクリーンアップする
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
前提要件:
- グループのオーナーロールを持っている必要があります。
3か月以上非アクティブなグループRunnerをクリーンアップできます。
グループRunnerは、特定のグループで作成されたものです。
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- 無効なRunnerのクリーンアップを有効にするの切り替えをオンにします。
無効なRunnerのクリーンアップログを表示する
クリーンアップの結果を確認するには、Sidekiqログをチェックしてください。Kibanaでは、次のクエリを使用できます:
{
"query": {
"match_phrase": {
"json.class.keyword": "Ci::Runners::StaleGroupRunnersPruneCronWorker"
}
}
}無効なRunnerが削除されたエントリをフィルタリングします:
{
"query": {
"range": {
"json.extra.ci_runners_stale_group_runners_prune_cron_worker.total_pruned": {
"gte": 1,
"lt": null
}
}
}
}プロジェクトRunner
特定のプロジェクトでRunnerを使用する場合は、プロジェクトRunnerを使用します。たとえば、次のような場合です:
- 認証情報を必要とするデプロイジョブなど、特定の要件を持つジョブを保持している。
- 他のRunnerから分離することでメリットが得られる、多くのCIアクティビティーがあるプロジェクトを保持している。
プロジェクトRunnerを複数のプロジェクトで使用するように設定できます。プロジェクトRunnerは、各プロジェクトで明示的に有効にする必要があります。
プロジェクトRunnerは、先入れ先出し(FIFO)キューを使用してジョブを処理します。
プロジェクトRunnerが、フォークされたプロジェクトで自動的にインスタンスを取得することはありません。フォークは、複製されたリポジトリのCI/CD設定をコピーします。
プロジェクトRunnerの所有権
Runnerが最初にプロジェクトに接続すると、そのプロジェクトがRunnerのオーナーになります。
オーナープロジェクトを削除する場合:
- GitLabは、Runnerを共有する他のすべてのプロジェクトを見つけます。
- GitLabは、最も古い関連付けを持つプロジェクトに所有権を割り当てます。
- 他のプロジェクトがRunnerを共有していない場合、GitLabはRunnerを自動的に削除します。
オーナープロジェクトからRunnerの割り当てを解除することはできません。代わりに、Runnerを削除します。
Runner認証トークンを使用してプロジェクトRunnerを作成する
前提要件:
- プロジェクトのメンテナーロールを持っている必要があります。
GitLab Self-ManagedまたはGitLab.comのプロジェクトRunnerを作成できます。Runnerを作成すると、Runnerへの登録に使用するRunner認証トークンが割り当てられます。Runnerは、ジョブキューからジョブを取得するときに、トークンを使用してGitLabで認証します。
プロジェクトRunnerを作成するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersセクションを展開します。
- New project runner(新しいプロジェクトRunner)を選択します。
- GitLab Runnerがインストールされているオペレーティングシステムを選択します。
- タグセクションのタグフィールドに、ジョブタグを入力してRunnerが実行できるジョブを指定します。このRunnerのジョブタグがない場合は、Run untagged(タグなしで実行)を選択します。
- オプション。Runnerの説明フィールドに、GitLabに表示されるRunnerの説明を追加します。
- オプション。設定セクションで、その他の設定を追加します。
- Runnerを作成を選択します。
- GitLab Runnerがインストールされているプラットフォームを選択します。
- 画面に表示される指示に従います:
- Linux、macOS、およびWindowsの場合、コマンドラインからプロンプトが表示されたら、次のようにします:
GitLab instance URLには、GitLabインスタンスのURLを使用します。たとえば、プロジェクトがgitlab.example.com/yourname/yourprojectでホストされている場合、GitLabインスタンスのURLはhttps://gitlab.example.comです。executorには、executorのタイプを入力します。executorは、Runnerがジョブを実行する環境です。
- Google Cloudの場合は、Google CloudでのRunnerのプロビジョニングを参照してください。
- Linux、macOS、およびWindowsの場合、コマンドラインからプロンプトが表示されたら、次のようにします:
APIを使用してRunnerを作成することもできます。
Runner認証トークンは、登録中のごく短い時間だけUIに表示されます。
登録トークンを使用してプロジェクトRunnerを作成する(非推奨)
ランナー登録トークンを渡し、特定の設定引数をサポートするオプションはレガシーと見なされ、推奨されません。Runner作成ワークフローを使用して、Runnerを登録するための認証トークンを生成します。このプロセスは、Runnerの所有権の完全なトレーサビリティを提供し、Runnerフリートのセキュリティを強化します。詳細については、新しいRunner登録ワークフローに移行するを参照してください。
前提要件:
- Runner登録トークンは、トップレベルグループで有効になっている必要があります。
- プロジェクトのメンテナー以上のロールを持っている必要があります。
プロジェクトRunnerを作成するには、次の手順に従います:
- GitLab Runnerをインストールします。
- 左側のサイドバーで、検索または移動先を選択して、Runnerを使用するプロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- プロジェクトRunnerセクションで、URLとトークンを書き留めます。
- Runnerを登録します。
これで、プロジェクトに対してRunnerが有効になりました。
プロジェクトRunnerを一時停止または再開する
前提要件:
- 管理者であるか、プロジェクトのメンテナーロールを持っている必要があります。
プロジェクトRunnerを一時停止して、GitLabインスタンスで割り当てられているプロジェクトからジョブを受け入れないようにすることができます。
- 左側のサイドバーで、検索または移動先を選択して、Runnerを有効にするプロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- アサインされたプロジェクトのRunnerセクションで、Runnerを見つけます。
- Runnerの右側で次のようにします:
- Runnerを一時停止するには、停止( )を選択してから、停止を選択します。
- Runnerを再開するには、再開( )を選択します。
プロジェクトRunnerを削除する
前提要件:
- 管理者であるか、プロジェクトのメンテナーロールを持っている必要があります。
- 複数のプロジェクトに割り当てられているプロジェクトRunnerは削除できません。Runnerを削除する前に、Runnerが有効になっているすべてのプロジェクトで無効にする必要があります。
プロジェクトRunnerを削除すると、GitLabインスタンスから完全に削除され、プロジェクトで使用できなくなります。ジョブの受け入れを一時的に停止する場合は、代わりにRunnerを一時停止できます。
Runnerを削除しても、その設定はRunnerホストのconfig.tomlファイルに残ります。削除されたRunnerの設定がこのファイルにまだ存在する場合、Runnerホストは引き続きGitLabに接続します。不要なAPIトラフィックを防ぐには、削除されたRunnerの登録も解除する必要があります。
- 左側のサイドバーで、検索または移動先を選択して、Runnerを有効にするプロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- アサインされたプロジェクトのRunnerセクションで、Runnerを見つけます。
- Runnerの右側にあるRemove runner(Runnerの削除)を選択します。
- Runnerを削除するには、削除を選択します。
別のプロジェクトに対してプロジェクトRunnerを有効にする
プロジェクトRunnerを作成したら、他のプロジェクトで有効にすることができます。
前提要件:少なくとも、次のプロジェクトのメンテナーロールを持っている必要があります:
- Runnerがすでに有効になっているプロジェクト。
- Runnerを有効にするプロジェクト。
- プロジェクトRunnerをロックしてはなりません。
プロジェクトのプロジェクトRunnerを有効にするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、Runnerを有効にするプロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- プロジェクトRunnerエリアで、必要なRunnerの横にあるこのプロジェクトでは有効にするを選択します。
プロジェクトRunnerは、有効になっている任意のプロジェクトから編集できます。ロック解除や、タグと説明の編集を含む変更は、Runnerを使用するすべてのプロジェクトに影響します。
管理者は複数のプロジェクトに対してRunnerを有効にできます。
プロジェクトRunnerが他のプロジェクトで有効にならないようにする
プロジェクトRunnerを「ロック」して、他のプロジェクトで有効にできないように設定することができます。この設定は、最初にRunnerを登録するときに有効にできますが、後で変更することもできます。
プロジェクトRunnerをロックまたはロック解除するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、Runnerを有効にするプロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- ロックまたはロック解除するプロジェクトRunnerを見つけます。有効になっていることを確認します。インスタンスまたはグループRunnerをロックすることはできません。
- 編集( )を選択します。
- 現在のプロジェクトにロックするチェックボックスをオンにします。
- 変更を保存を選択します。
Runnerのステータス
Runnerのステータスは、次のいずれかです。
| ステータス | 説明 |
|---|---|
online | Runnerは過去2時間以内にGitLabに接続しており、ジョブを実行できます。 |
offline | Runnerが2時間以上GitLabに接続していないため、ジョブを実行できません。Runnerをチェックして、オンラインにできるかどうかを確認してください。 |
stale | Runnerが7日以上GitLabに接続していません。Runnerが7日以上前に作成され、インスタンスに接続したことがない場合も、stale(古い)と見なされます。 |
never_contacted | RunnerはGitLabに接続したことがありません。RunnerがGitLabに接続するようにするには、gitlab-runner runを実行します。 |
無効なRunnerマネージャーのクリーンアップ
GitLabは、データベースを整理するために、無効なRunnerマネージャーを定期的に削除します。RunnerがGitLabインスタンスに接続すると、接続が再作成されます。
Runnerのパフォーマンスの統計を表示する
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
管理者は、Runnerの統計を表示することで、Runnerフリートのパフォーマンスについて学ぶことができます。
Median job queued time(ジョブの中央キュー時間)の値は、インスタンスRunnerによって実行された最新の100個のジョブのキュー時間をサンプリングして計算されます。Runnerからのジョブのうち最新の5000個のみが考慮されます。
中央値は、50パーセンタイルに分類される値です。ジョブの半分は中央値よりも長くキューに入り、半分は中央値よりも短い時間キューに入っています。
Runnerの統計を表示するには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。新しいナビゲーションをオンにしている場合は、左側のサイドバーの下部にある管理者を選択します。
- CI/CD > Runnersを選択します。
- メトリクスを表示を選択します。
アップグレードが必要なRunnerを特定する
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
Runnerで使用されるGitLab Runnerのバージョンは最新の状態に保つ必要があります。
アップグレードが必要なRunnerを判別するには、次の手順に従います:
Runnerのリストを表示します:
- グループの場合:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- ビルド > Runnersを選択します。
- インスタンスの場合:
- 左側のサイドバーの下部で、管理者を選択します。新しいナビゲーションをオンにしている場合は、左側のサイドバーの下部にある管理者を選択します。
- CI/CD > Runnersを選択します。
- グループの場合:
Runnerのリストの上にあるステータスを表示します:
- Outdated - recommended(期限切れ - 推奨): Runnerが最新の
PATCHバージョンではないため、セキュリティまたは重大度の高いバグに対して脆弱性が生じている可能性があります。または、RunnerがGitLabインスタンスから1つまたは複数のMAJORバージョン分遅れているため、一部の機能が利用できないか、正常に動作しない可能性があります。 - Outdated - available(期限切れ - 利用可能): 新しいバージョンが利用可能ですが、アップグレードが不可欠なわけではありません。
- Outdated - recommended(期限切れ - 推奨): Runnerが最新の
ステータスでリストをフィルタリングして、アップグレードが必要な個々のRunnerを表示します。
RunnerのIPアドレスを特定する
Runnerの問題をトラブルシューティングするには、RunnerのIPアドレスがわかっていなければならない場合があります。GitLabは、RunnerがジョブをポーリングするときにHTTPリクエストのソースを表示することで、IPアドレスを保存および表示します。GitLabは、RunnerのIPアドレスが更新されるたびに自動的に更新します。
インスタンスRunnerのIPアドレスとプロジェクトRunnerのIPアドレスは、異なる場所にあります。
インスタンスRunnerのIPアドレスを特定する
前提要件:
- インスタンスへの管理者アクセス権が必要です。
インスタンスRunnerのIPアドレスを特定するには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。新しいナビゲーションをオンにしている場合は、左側のサイドバーの下部にある管理者を選択します。
- CI/CD > Runnersを選択します。
- テーブルでRunnerを見つけ、IPアドレス列を表示します。
プロジェクトRunnerのIPアドレスを特定する
プロジェクトのRunnerのIPアドレスを見つけるには、プロジェクトのオーナーロールが必要です。
- プロジェクトの設定 > CI/CDに移動し、Runnersセクションを展開します。
- Runner名を選択し、IPアドレス行を見つけます。
Runnerの設定にメンテナンスノートを追加する
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
Runnerをドキュメント化するために、メンテナンスノートを追加できます。Runnerを編集できるユーザーがRunnerの詳細を表示すると、ノートを見ることができます。
この機能を使用すると、Runnerの設定変更に関連する結果や問題を他のユーザーに通知できます。
プロジェクトおよびグループでRunner登録トークンの使用を有効にする
ランナー登録トークンを渡し、特定の設定引数をサポートするオプションはレガシーと見なされ、推奨されません。Runner作成ワークフローを使用して、Runnerを登録するための認証トークンを生成します。このプロセスは、Runnerの所有権の完全なトレーサビリティを提供し、Runnerフリートのセキュリティを強化します。詳細については、新しいRunner登録ワークフローに移行するを参照してください。
GitLab 17.0では、すべてのGitLabインスタンスでRunner登録トークンの使用が無効になっています。
前提要件:
- Runner登録トークンは、管理者エリアで有効になっている必要があります。
プロジェクトおよびグループでRunner登録トークンの使用を有効にするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > CI/CDを選択します。
- Runnersを展開します。
- プロジェクトおよびグループのメンバーがRunner登録トークンを使用してRunnerを作成できるようにするの切り替えをオンにします。

