ステージング環境へのデプロイ
ステージング環境に安全にデプロイするための反復可能なフローです。
デモターゲット: ex_staging/ フォルダ(シミュレートされたローカルステージング — 実際のクラウドではありません)。
手順
- ターゲットに
cdします(ex_stagingまたは@で指定されたパス)。 - ターゲットの Git ツリーを確認します:
git status --porcelain -- .(そのフォルダから実行)またはgit status --porcelain -- ex_staging。 ターゲットにコミットされていない変更がある場合は、停止して警告します。(コースのモノレポ内の他のフォルダの汚れは、警告した上で無視してもかまいません。) - テストを実行します:
npm test。失敗した場合は、停止して出力を表示します。 - ビルドを実行します:
npm run build。失敗した場合は、停止します。 - デプロイ前に人間の確認を求めます(本番環境での外部アクション/不可逆的操作)。 このチャットでユーザーから明示的な OK が出るまでデプロイを実行しないでください。
- OK が出たら:
npm run deploy:staging(node scripts/deploy.mjs stagingと同等)。- このデモでは、ローカルサーバーを起動し、
.staging-urlファイルを書き込みます。 - 実際のリポジトリでは、
./scripts/deploy.sh stagingまたはご自身のパイプラインに置き換えてください。
- このデモでは、ローカルサーバーを起動し、
- スモークチェック:
.staging-urlを読み取り、GET {url}/healthを呼び出します(curl、Invoke-WebRequest、またはfetch)。 HTTP 200 かつok: trueである必要があります。 - 要約: デプロイした内容、URL、スモークチェックの結果を報告します。デモを停止するには
npm run staging:stopを実行するよう伝えます。
ルール
- 絶対に、テストが赤い状態やターゲットが汚れた状態でデプロイしないでください。
- 絶対に、明示的な人間の要求/確認なしにデプロイしないでください(ハンドオフゲート)。
- 各コマンドの実際の出力を常に表示してください。
- このリポジトリでは
staging.example.comを使用しないでください — スモークチェックは.staging-urlのローカルURLに対して行います。