{"meta":{"title":"ワークフローでのセルフホステッド ランナーの利用","intro":"ワークフローでセルフホステッド ランナーを使用するには、ラベルまたはグループを使ってジョブのランナーを指定できます。","product":"GitHub Actions","breadcrumbs":[{"href":"/ja/actions","title":"GitHub Actions"},{"href":"/ja/actions/how-tos","title":"方法"},{"href":"/ja/actions/how-tos/manage-runners","title":"ランナーを管理する"},{"href":"/ja/actions/how-tos/manage-runners/self-hosted-runners","title":"セルフホステッド ランナー"},{"href":"/ja/actions/how-tos/manage-runners/self-hosted-runners/use-in-a-workflow","title":"ワークフローで使用する"}],"documentType":"article"},"body":"# ワークフローでのセルフホステッド ランナーの利用\n\nワークフローでセルフホステッド ランナーを使用するには、ラベルまたはグループを使ってジョブのランナーを指定できます。\n\n## リポジトリに使用可能なランナーの表示\n\nリポジトリに `repo: write` アクセス許可を持つ場合は、リポジトリで使用できるランナーの一覧が表示されます。\n\n1. GitHub で、リポジトリのメイン ページに移動します。\n2. リポジトリ名の下にある **\\[<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions]** をクリックします。\n\n   ![\"github/docs\" リポジトリのタブのスクリーンショット。 \\[アクション\\] タブがオレンジ色の枠線で強調表示されています。](/assets/images/help/repository/actions-tab-global-nav-update.png)\n3. 左側のサイドバーの \\[Management] セクションで、**<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-server\" aria-label=\"server\" role=\"img\"><path d=\"M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z\"></path></svg> \\[Runners]** をクリックします。\n4. ランナーのリストの上部で **\\[セルフホステッド]** タブをクリックします。\n5. リポジトリに使用可能なセルフホステッド ランナーのリストを確認します。 このリストには、Actions Runner Controller で作成したランナー スケール セットとセルフホステッド ランナーの両方が含まれています。 詳しくは、「[アクション ランナー コントローラー](/ja/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller)」をご覧ください。\n6. 必要に応じて、ランナーのラベルをコピーしてワークフローで使用するには、ランナーの右側にある <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-kebab-horizontal\" aria-label=\"More options\" role=\"img\"><path d=\"M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"></path></svg> をクリックし、**\\[ラベルのコピー]** をクリックします。\n\n> \\[!NOTE]\n> Enterprise と organization の所有者は、このページからランナーを作成できます。 新しいランナーを作成するには、ランナーの一覧の右上にある **\\[新しいランナー]** をクリックして、リポジトリにランナーを追加します。\n>\n> 詳細は、「[より大きなランナーを管理する](/ja/actions/using-github-hosted-runners/managing-larger-runners)」および「[自己ホストランナーの追加](/ja/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners)」を参照してください。\n\n## 既定ラベルを使ったジョブの転送\n\nセルフホステッド ランナーは、GitHub Actionsに追加されたときに特定のラベルを自動的に受信します。 それらは、ランナーのオペレーティングシステムとハードウェアプラットフォームを示すために使われます。\n\n* `self-hosted`: セルフホステッド ランナーに適用される既定のラベル。\n* `linux`、`windows`、または `macOS`: オペレーティング システムに応じて適用されます。\n* `x64`、`ARM`、または `ARM64`: ハードウェア アーキテクチャに応じて適用されます。\n\nワークフローのYAMLを使って、これらのラベルの組み合わせに対してジョブを送信できます。 この例では、3 つのラベルすべてにマッチするセルフホステッド ランナーが、ジョブを実行する資格を持つことになります。\n\n```yaml\nruns-on: [self-hosted, linux, ARM64]\n```\n\n* `self-hosted` – セルフホステッド ランナー上でこのジョブを実行します。\n* `linux` – Linux ベースのランナーのみを使います。\n* `ARM64` – ARM64 ハードウェア ベースのランナーのみを使います。\n\n既定ラベルなしでセルフホステッド ランナーを個別に作成するには、作成時に `--no-default-labels` フラグを渡します。\n\n## カスタムラベルを使ったジョブの転送\n\nカスタムラベルを作成し、セルフホステッド ランナーに割り当てることがいつでもできます。 カスタムラベルを使えば、付けられたラベルに基づいて特定の種類のセルフホステッド ランナーにジョブを送信できるようになります。\n\nたとえば、特定の種類のグラフィック ハードウェアを必要とするジョブがある場合、`gpu` というカスタム ラベルを作成し、そのハードウェアが組み込まれているランナーに割り当てることができます。 割り当てられたすべてのラベルにマッチするセルフホステッド ランナーが、そのジョブを実行できるようになります。\n\n以下の例は、既定とカスタムのラベルを組み合わせたジョブです。\n\n```yaml\nruns-on: [self-hosted, linux, x64, gpu]\n```\n\n* `self-hosted` – セルフホステッド ランナー上でこのジョブを実行します。\n* `linux` – Linux ベースのランナーのみを使います。\n* `x64` – x64 ハードウェア ベースのランナーのみを使います。\n* `gpu` – このカスタム ラベルは、GPU ハードウェアが組み込まれたセルフホステッド ランナーに手動で割り当てられました。\n\nこれらのラベルは累積的に働くので、このジョブを処理できるセルフホステッド ランナーには、4 つすべてのラベルがなくてはなりません。\n\n## グループを使用したジョブのルーティング\n\nこの例では、Ubuntu ランナーが `ubuntu-runners` というグループに追加されています。 `runs-on` キーは、`ubuntu-runners` グループ内の使用可能なランナーにジョブを送信します。\n\n```yaml\nname: learn-github-actions\non: [push]\njobs:\n  check-bats-version:\n    runs-on: \n      group: ubuntu-runners\n    steps:\n      - uses: actions/checkout@v6\n      - uses: actions/setup-node@v4\n        with:\n          node-version: '14'\n      - run: npm install -g bats\n      - run: bats -v\n```\n\n## ラベルとグループを使用したジョブのルーティング\n\nグループとラベルを組み合わせる場合、ランナーはジョブを実行する資格を得るために両方の要件を満たす必要があります。\n\nこの例では、`ubuntu-runners` というランナー グループに、ラベル `ubuntu-24.04-16core` も割り当てられている Ubuntu ランナーが設定されています。\n`runs-on` キーは `group` と `labels` を組み合わせて、ラベルが一致するグループ内の使用可能な任意のランナーにジョブがルーティングされるようにします。\n\n```yaml\nname: learn-github-actions\non: [push]\njobs:\n  check-bats-version:\n    runs-on:\n      group: ubuntu-runners\n      labels: ubuntu-24.04-16core\n    steps:\n      - uses: actions/checkout@v6\n      - uses: actions/setup-node@v4\n        with:\n          node-version: '14'\n      - run: npm install -g bats\n      - run: bats -v\n```"}