WebhookでGitHub Actionsと連携した際に、複数回処理が実行されるのを防止するにはどうしたらよいですか?

Webhookの通知タイミングの設定や、ユーザーの操作次第では、必要以上にGitHub Actionsの処理が実行されてしまう可能性があります。

防止するためには、GitHub Actionsの設定ファイルにおいて、コンカレンシーを設定することが有用です。


以下のような設定を行うと、同じブランチに対する、同じワークフローで保留中のものがあった場合、キャンセルすることができます。

スクリーンショット 2022-12-15 11.14.53
また実行中のワークフローについても、cancel-in-progress: trueを設定することで、キャンセルすることができます。

スクリーンショット 2022-12-15 11.14.58

この場合、実行中のジョブが意図しないタイミングでキャンセルされるケースがあります。ビルドした静的ファイルを、FTPによる転送やAWS S3への転送する処理を実施していた場合、不完全な状態でデプロイされる可能性があります。取り扱いについてはご注意ください。

 

GitHub Actionsの設定項目などは、仕様が変更となる可能性がございます。最新の情報についてはドキュメントをご参照ください。