WebhookでGitHub Actionsと連携した際に、複数回処理が実行されるのを防止するにはどうしたらよいですか?
Webhookの通知タイミングの設定や、ユーザーの操作次第では、必要以上にGitHub Actionsの処理が実行されてしまう可能性があります。
防止するためには、GitHub Actionsの設定ファイルにおいて、コンカレンシーを設定することが有用です。
以下のような設定を行うと、同じブランチに対する、同じワークフローで保留中のものがあった場合、キャンセルすることができます。
また実行中のワークフローについても、cancel-in-progress: trueを設定することで、キャンセルすることができます。
この場合、実行中のジョブが意図しないタイミングでキャンセルされるケースがあります。ビルドした静的ファイルを、FTPによる転送やAWS S3への転送する処理を実施していた場合、不完全な状態でデプロイされる可能性があります。取り扱いについてはご注意ください。
GitHub Actionsの設定項目などは、仕様が変更となる可能性がございます。最新の情報についてはドキュメントをご参照ください。