Skip to content

ci: prod デプロイを直列化して CloudFormation の競合を防ぐ(#114) - #115

Merged
limit7412 merged 1 commit into
masterfrom
claude/add-policy-to-issues-vdp4s3-114
Aug 9, 2026
Merged

ci: prod デプロイを直列化して CloudFormation の競合を防ぐ(#114)#115
limit7412 merged 1 commit into
masterfrom
claude/add-policy-to-issues-vdp4s3-114

Conversation

@limit7412

Copy link
Copy Markdown
Owner

close #114

課題

serverless-prod.ymlpush: [master] で走り、prod ステージ(CloudFormation スタック github-notifications-slack-prod)へデプロイする。concurrency の指定が無いため、master へ短時間に複数回マージすると deploy が並走し、#112 と同じ理由で後発が落ちうる。

✖ ServerlessError2: Stack:.../github-notifications-slack-prod/... is in UPDATE_IN_PROGRESS state and can not be updated.

未観測の問題だが、deploy 自体は1分程度で終わるため、複数 PR をまとめてマージする際には十分起こりうる。

変更内容

PR #113(dev 側)と同じ形で concurrency group を設定する。

concurrency:
  group: serverless-prod
  cancel-in-progress: false

dev とは別の group 名にしている。 別スタックなので互いに競合せず、同じ group にすると環境をまたいで無用に待たされる。

dev との違い

dev 側では「待機中の run が2本以上になると古い方がキャンセルされ、その PR が deploy 未検証のまま残る」ことを既知の制約として挙げた。prod では同じ挙動が実害にならない

prod がデプロイするのは master の内容なので、3回続けてマージして中間の run がキャンセルされても、最新の run さえ通れば最終状態は正しく反映される。むしろ中間コミットへの無駄なデプロイが減る。

そのため dev よりも素直に適用できると判断した。

動作確認

  • concurrency が意図した値でパースされることを確認(group: serverless-prod / cancel-in-progress: False
  • dev 側(serverless-dev)と group 名が重複していないことを確認
  • 直列化そのものの検証には master への連続マージが要るため、実際の効果はマージ後に確認することになる

補足

この PR がマージされると、その push 自体が新しい concurrency 設定下での最初の prod デプロイになる。


Generated by Claude Code

master へ短時間に複数回マージすると deploy が並走し、スタックが
UPDATE_IN_PROGRESS のままで後発が落ちうる。dev 側(#112 / PR #113)と同じ
構造の問題。

serverless-prod に concurrency group を設定して直列化する。dev とは別の
group 名にして、環境をまたいで待たされないようにする。実行中のデプロイを
中途半端に打ち切らないよう cancel-in-progress は false にする。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MoGxJDiZa8c2E3PVAnxbK8
@limit7412
limit7412 marked this pull request as ready for review August 9, 2026 17:24
@limit7412
limit7412 merged commit c7a9c74 into master Aug 9, 2026
3 checks passed
@limit7412
limit7412 deleted the claude/add-policy-to-issues-vdp4s3-114 branch August 9, 2026 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

master への連続マージで prod デプロイが競合しうる

2 participants