Skip to main content

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

コンカレンシーの使用

一度に 1 つのジョブを実行します。

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

概要

注: ジョブ レベルでコンカレンシーが指定されている� �合、ジョブの� �序は保証されないか、互いに 5 分以内にそのキューを実行します。

同じコンカレンシー グループを使うジョブまたはワークフローを一度に 1 つ� け実行するには、jobs.<job_id>.concurrency を使います。 並行処理グループには、任意の文字列または式を使用できます。 式は、secrets コンテキストを除く任意のコンテキストを使用できます。 式について詳しくは、「」を参照してく� さい。

ワークフロー レベルで concurrency を指定することもできます。 詳細については、「concurrency」を参照してく� さい。

並行ジョブかワークフローがキューに入っている� �合、リポジトリ内の同じ並行グループを使う他のジョブかワークフローが進行中� と、キューイングされたジョブかワークフローは pending になります。 この並行グループ内の以前の保留中のジョブもしくはワークフローは、キャンセルされます。 同じコンカレンシー グループ内の現在実行中のジョブかワークフローもキャンセルするには、cancel-in-progress: true を指定します。

並行性とデフォルトの動作の使用例

concurrency: staging_environment
concurrency: ci-${{ github.ref }}

並行性を使って進行中のジョブもしくは実行をキャンセルする例

concurrency:
  group: ${{ github.ref }}
  cancel-in-progress: true

例: フォールバック値の使用

特定のイベントにのみ定義されるプロパティでグループ名を作成する� �合、フォールバック値を使用できます。 たとえば、github.head_refpull_request イベントにのみ定義されます。 ワークフローが pull_request イベントに� えて他のイベントにも応答する� �合、構文エラーを回避するためにフォールバックを指定する必要があります。 次のコンカレンシー グループは、pull_request イベントで進行中のジョブか実行のみを取り消します。github.head_ref が未定義の� �合、コンカレンシー グループは実行 ID にフォールバックします。これは、一意であり、実行に対して定義されていることが保証されています。

concurrency:
  group: ${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

例: 現在のワークフローで進行中のジョブまたは実行のみを取り消します

同じリポジトリに複数のワークフローがある� �合、他のワークフローの進行中のジョブまたは実行が取り消されないように、コンカレンシー グループ名はワークフロー間で一意である必要があります。 そうでない� �合、ワークフローに関係なく、以前に進行中または保留中のジョブが取り消されます。

同じワークフローの進行中の実行� けを取り消すには、github.workflow プロパティを使ってコンカレンシー グループを構築します。

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true