GithubActionsのワークフロー同時(並列)実行を制御する方法

概要

2021年4月19日からGitHub Actionsで、ワークフローおよびジョブレベルでconcurrencyを指定することが可能になり、これを用いることで、ワークフローの同時(並列)実行を制御することができるようになった。

コンカレンシーの使用 - GitHub Docs
一度に 1 つのジョブを実行します。

具体例

例えば、以下のようにワークフローのトップレベルでconcurrencyを指定することで、このワークフローが同時に実行されることがないということを保証してくれる

name: Python application set up

on:
  push:
    branches: [ main ]

concurrency:
  my_concurrency_workflow
masayan
masayan

ちなみに、ジョブ単位で指定する際は、以下のように、指定すればOKです。

jobs:
  unit-test:
    concurrency: my_concurrency_job

実際のGithub上の画面でいうとそれぞれ以下のようになる

設定前

設定後

あとから実行されたワークフローは、保留中となり、前に実行されているワークフローの完了を待ってから実行されるようになる

以上です。

タイトルとURLをコピーしました