注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。
概要
ワークフロー実行は、既定で並列実行される 1 つ以上の jobs
で構成されます。 ジョブを� �番に実行するには、jobs.<job_id>.needs
キーワードを使用して他のジョブへの依存関係を定義できます。
各ジョブは、runs-on
で指定されたランナー環境で実行されます。
ワークフローの利用限度内であれば、実行するジョブ数に限度はありません。 詳細については、GitHub がホストするランナーの「使用量制限と課金」とセルフホステッド ランナーの使用制限の「セルフホステッド ランナーについて」
ワークフロー実行で実行されているジョブの一意識別子を見つける必要がある� �合は、GitHub Enterprise Server API を使用できます。 詳細については、「ワークフロー ジョブ」を参照してく� さい。
ジョブの ID を設定する
ジョブへの一意の識別子の指定には、jobs.<job_id>
を使います。 job_id
キーは文字列で、その値はジョブの設定データのマップです。 <job_id>
は、jobs
オブジェクトに固有の文字列に置き換える必要があります。 <job_id>
は文字または _
で始まり、英数字、-
、あるいは _
のみを含める必要があります。
例: ジョブを作成する
この例では、job_id
値が my_first_job
と my_second_job
の 2 つのジョブが作成されました。
jobs:
my_first_job:
name: My first job
my_second_job:
name: My second job
ジョブの名前を設定する
GitHub UI に表示されるジョブの名前の設定に jobs.<job_id>.name
を使用します。
前提条件のジョブを定義する
jobs.<job_id>.needs
を使って、このジョブの実行前に正常に完了する必要があるジョブを示します。 文字列型または文字列の配列です。 1つのジョブが失敗した� �合、失敗したジョブを続行するような条件式を使用していない限り、そのジョブを必要としている他のジョブはすべてスキップされます。 互いを必要とするジョブが実行に含まれていると、エラー時点以降、依存関係チェーン内のすべてのジョブにエラーが適用されます。
例: 依存ジョブの成功が必要である
jobs:
job1:
job2:
needs: job1
job3:
needs: [job1, job2]
この例では、job1
が正常に完了してから job2
が始まる必要があり、job3
では job1
と job2
の両方が完了するまで待機します。
つまり、この例のジョブは逐次実行されるということです。
job1
job2
job3
例: 依存ジョブの成功は必要ではない
jobs:
job1:
job2:
needs: job1
job3:
if: ${{ always() }}
needs: [job1, job2]
この例では、job3
では条件式 always()
を使っているので、job1
と job2
が成功したかどうかに関係なく、完了後に常に実行されます。 詳細については、「式」を参照してく� さい。