🔧 Deploy workflows - Push each build to its own image tag, and let only the deploy job move the environment tag

オープン
#2,811 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
58/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
docker, github-actions, nextjs, typescript
領域
ci-cd, devops

調査の方向性

Start with the deploy workflow, build-and-deploy.yml, and trace how image tags move from the build job to deployment; check infra/modules/appService.bicep:86 to confirm which tag App Service reads. Then review the PR slot handling and clean-container-register.yml. Done when the build publishes a run-specific tag, only a successful deploy updates the environment tag, and PR slots and cleanup continue to work.

索引モデルが issue の本文から書いたものです。

説明

Claude Type: DevOps
Pain

The build job pushes the image straight to the environment tag (ssw-rules:production or ssw-rules:staging). The App Service reads that tag (infra/modules/appService.bicep:86). If a later job fails, the registry has an image that was never deployed, and a restart of the App Service can run it.

  • Today this occurs when the deploy job fails after the push (9 of the last 150 runs of build-and-deploy.yml).
  • With #2806, the build no longer waits for the infrastructure job, so a failed or rejected infrastructure job (2 of the last 150 runs) also leaves such an image.

Raised by Josh Berman in the review of #2806.

Acceptance Criteria
  1. The build job pushes the image only with a tag for its run (for example the commit SHA or the run ID).
  2. Only the deploy job moves the environment tag, after its checks pass.
  3. If any job before the deploy fails, the environment tag does not change.
  4. PR slots and the clean-up workflow (clean-container-register.yml) still work.
Related
  • #2801, #2806

🤖 Issue created by Claude Opus 5.5 via Claude Code

主要言語
TypeScript
スター
28
フォーク
16
平均マージ
3日 13時間
マージ済み PR(30日)
19

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

SSWConsulting/SSW.Rules のほかの issue

SSWConsulting/SSW.Rules の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。