Masayan tech blog.

  1. ブログ記事一覧>
  2. GithubActionsのワークフロー同時(並列)実行を制御する方法

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

公開日

概要

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

具体例

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

name: Python application set up

on:
  push:
    branches: [ main ]

concurrency:
  my_concurrency_workflow

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

jobs:
    unit-test:
      concurrency: my_concurrency_job

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

設定前

設定後

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

まとめ

いかがでしたでしょうか。本記事では、GithubActionsのワークフロー同時(並列)実行を制御する方法とその実装方法の具体例について紹介しています。ぜひ参考にしてみて下さい