概要
jobs.<job_id>.runs-on
を使って、ジョブを実行するマシンの種類を定義します。
-
宛先マシンは、セルフホステッド ランナーにすることができます。
-
ランナーに割り当てられたラベルに基づいてランナーをターゲットにすることができます。
-
runs-on
は次として指定できます。- 1 つの文字列
- 文字列を含む 1 つの変数
- 文字列の配列、文字列を含む変数、または両方の組み合わせ
- またはキーを
key: value
使用するgroup
ペアlabel
-
文字列または変数の配列を指定すると、指定された
runs-on
値の全部に一致するランナー上でワークフローが実行されます。 たとえば、ここでは、ラベルlinux
、x64
、gpu
が付いているセルフホステッド ランナー上でのみジョブが実行されます。runs-on: [self-hosted, linux, x64, gpu]
詳細については、「セルフホステッド ランナーの選択」を参照してください。
-
配列内で文字列と変数を混在させることができます。 次に例を示します。
on: workflow_dispatch: inputs: chosen-os: required: true type: choice options: - Ubuntu - macOS jobs: test: runs-on: [self-hosted, "${{ inputs.chosen-os }}"] steps: - run: echo Hello world!
-
複数のマシンでワークフローを実行する場合は、
jobs.<job_id>.strategy
を使います。
ジョブにセルフホステッド ランナーを指定するには、ワークフロー ファイルでセルフホステッド ランナーのラベルを使って runs-on
を設定します。
すべてのセルフホステッド ランナーに self-hosted
ラベルが含まれます。 このラベルのみを使うと、セルフホステッド ランナーが選ばれます。 オペレーティング システムやアーキテクチャなど、特定の条件を満たすランナーを選ぶには、self-hosted
で始まり (リストの最初にこれを示す必要があります)、必要に応じて追加のラベルを含むラベルの配列を指定することをお勧めします。 ラベルの配列を指定すると、指定したラベルをすべて持つランナーのキューにジョブが入れられます。
self-hosted
ラベルは必須ではありませんが、セルフホステッド ランナーを使う場合は、自分のジョブから現在または将来の GitHub ホスト ランナーが意図せずに指定されないことを確実にするため、それを指定することを強くお勧めします。
例: ランナー選択のためのラベルの使用
runs-on: [self-hosted, linux]
詳細については、「セルフホステッド ランナーの概要」および「ワークフローでのセルフホストランナーの利用」を参照してください。