Skip to main content

このバージョンの GitHub Enterprise サーバーはこの日付をもって終了となりました: 2023-09-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise サーバーにアップグレードしてください。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

ジョブのランナーを選択する

ワークフローでジョブを処理するコンピューターの種類を定義します。

注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。

概要

jobs.<job_id>.runs-on を使って、ジョブを実行するマシンの種類を定義します。

  • 宛先マシンは、セルフホステッド ランナーにすることができます。

  • ランナーに割り当てられたラベルに基づいてランナーをターゲットにすることができます。

  • runs-on は次として指定できます。

    • 1 つの文字列
    • 文字列を含む 1 つの変数
    • 文字列の配列、文字列を含む変数、または両方の組み合わせ
    • またはキーをkey: value使用するgroupペアlabel
  • 文字列または変数の配列を指定すると、指定された runs-on 値の全部に一致するランナー上でワークフローが実行されます。 たとえば、ここでは、ラベル linuxx64gpu が付いているセルフホステッド ランナー上でのみジョブが実行されます。

    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 を使います。

注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。

GitHub ホステッド ランナーの選択

GitHub ホステッド ランナーを使うと、各ジョブは runs-on で指定したランナー イメージの新しいインスタンスで実行されます。

利用可能なGitHubホストランナーの種類は以下のとおりです。

ランナー イメージ YAML ワークフロー ラベル メモ
Windows Server 2022 windows-latest または windows-2022 windows-latest ラベルは現在、Windows Server 2022 ランナー イメージを使用しています。
Windows Server 2019 windows-2019 なし
Ubuntu 22.04 ubuntu-latest または ubuntu-22.04 ubuntu-latest ラベルは現在、Ubuntu 22.04 ランナー イメージを使用しています。
Ubuntu 20.04 ubuntu-20.04 なし
macOS 13 Ventura [Beta] macos-13 または macos-13-xl なし
macOS 12 Monterey macos-latestmacos-12macos-latest-xl または macos-12-xl 現在、macos-latestmacos-latest-xl のワークフロー ラベルでは、macOS 12 ランナー イメージが使われています。
macOS 11 Big Sur macos-11 なし

注: -latest ランナー イメージは、GitHub が提供する最新の安定したイメージであり、オペレーティング システム ベンダーから入手できるオペレーティング システムの最新バージョンではない可能性があります。

警告: ベータ版および非推奨のイメージは、"現状のまま"、"保証なし"、"利用可能な状態" で提供され、サービス レベル アグリーメントと保証から除外されます。 ベータ版のイメージは、カスタマー サポートでカバーされない場合があります。

例: オペレーティング システムの指定

runs-on: ubuntu-latest

詳しくは、「Using GitHub-hosted runners」を参照してください。

セルフホステッド ランナーの選択

ジョブにセルフホステッド ランナーを指定するには、ワークフロー ファイルでセルフホステッド ランナーのラベルを使って runs-on を設定します。

すべてのセルフホステッド ランナーに self-hosted ラベルが含まれます。 このラベルのみを使うと、セルフホステッド ランナーが選ばれます。 オペレーティング システムやアーキテクチャなど、特定の条件を満たすランナーを選ぶには、self-hosted で始まり (リストの最初にこれを示す必要があります)、必要に応じて追加のラベルを含むラベルの配列を指定することをお勧めします。 ラベルの配列を指定すると、指定したラベルをすべて持つランナーのキューにジョブが入れられます。

self-hosted ラベルは必須ではありませんが、セルフホステッド ランナーを使う場合は、自分のジョブから現在または将来の GitHub ホスト ランナーが意図せずに指定されないことを確実にするため、それを指定することを強くお勧めします。

例: ランナー選択のためのラベルの使用

runs-on: [self-hosted, linux]

詳細については、「セルフホステッド ランナーの概要」および「ワークフローでのセルフホストランナーの利用」を参照してください。