本番へ昇格する
「本番に出してよいですか」と聞かれたら、何を確認すればよいのでしょうか
公開する内容と検証結果を、同じ候補について確認しましょう。
01状況
公開してよい?
公開する範囲を確認本番公開の確認が来ました。何が変わる版か、まず教えてください。
02条件
この候補を試した
変更と検証結果を照合変更一覧とstgでの確認結果を見ました。候補の番号も同じです。
03評価
公開の条件がそろった
業務に使えるか評価依頼した操作も、普段の業務も試せました。この候補なら公開できます。
04判断
この候補を公開して
対象を指定して承認この候補を本番へ公開してください。成功後は、本番の画面でも確かめます。
/git release の段取り
本番(prod)は、利用者が実際に使う環境です。公開前に「今回含める変更」「検証環境(stg)で試した結果」「公開する候補の番号」を担当者と確認します。たとえば「申込期限の変更を含む候補○○を本番へ公開してください」と、対象を指定して承認します。同じ候補を承認済みなら取り直しは不要ですが、対象が変われば改めて確認します。
各ステップをクリックすると、その内容の説明がここに表示されます。
この図をテキストで読む
ステップ図「/git release の実行手順」。6ステップ。 【手順】(順番に) 1. 候補を固定(stg-r<run>a<attempt>) 2. 現在の本番を確認(GitHub Deployments の記録) 3. 公開差分を提示(現在の本番 → 候補) 4. ユーザーの明示承認(prodへの昇格確認) 5. 昇格を起動して追跡(今回の実行を追って確認) 6. タグとノートを発行(CIが本番実体を記録) 補足: 前進の確認から明示承認、CIによるタグ発行まで順番に進みます。 【流れ】 - 承認フロー: 候補を固定 → 現在の本番を確認 → 公開差分を提示 → ユーザーの明示承認 → 昇格を起動して追跡 → タグとノートを発行
作り直さず、そのまま昇格する
サーバーで動かすアプリ一式を、配備用の荷物(コンテナイメージ)にまとめます。5slabでは stg で試した荷物を作り直さず、そのまま本番へ使います。候補には、コードの版を識別するSHAと、荷物の内容を識別するdigestが記録されます。担当者は両方を照合し、確認したものと違う荷物が公開されるのを防ぎます。
承認する人が長い識別番号を暗記する必要はありません。変更一覧と検証結果が同じ候補のものかを確かめます。通常の公開は、今の本番から前へ進む版だけが対象です。古い版へ戻すときは、下のロールバック手順を使います。処理の失敗や結果不明のときは、再実行の前に担当者が状況を調べます。
候補の記録と、現在の稼働を照合する
候補の記録がない版は本番へ進めません。公開後は今回の配備記録と実際に動く版の一致を確認します。releaseタグは成功した公開の記録ですが、タグだけでは、その後の失敗や途中までの反映は分かりません。
戻すときは、別の入口
本番を過去の版へ戻す操作がロールバックです。担当者は /git rollback で戻す候補を指定します。依頼者は、戻す理由と、戻すことで使えなくなる機能や変更を確認して承認します。通常の公開とは別の手順で、対象を取り違えないようにします。
戻すのはアプリの版です。保存した業務データや、データベースの構造が自動で元に戻るわけではありません。担当者が古いアプリでも現在のデータを扱えるか確認し、対応できない場合は復旧方法を決めてから進めます。巻き戻し後も、新しい配備記録とreleaseタグを残します。
各セルをクリックすると、その意味や詳しい説明がここに表示されます。
この図をテキストで読む
比較表「通常の昇格とロールバックの比較」。2列 × 5行。 【列】 1. 通常の昇格(前進のみ) 2. ロールバック(過去の版へ切り戻し) 【比較】(観点ごとに) ■ 対象 - 通常の昇格: 現在の本番から進む候補 / 前進のみ - ロールバック: 過去のSHA / 検証済みの旧版 ■ 確認するもの - 通常の昇格: 未リリース差分の内容 / コミット一覧と変更量 - ロールバック: 失う変更の一覧と理由 / 切り戻し影響の把握 ■ 起動の入力 - 通常の昇格: 公開する候補・承認 / 本番指定と確認 - ロールバック: 候補・戻す理由・承認 / 名指しと理由が必須 ■ タグ - 通常の昇格: 新規作成 / 今回の公開を記録 - ロールバック: 新規作成 / 今回の公開を記録 ■ 戻るもの - 通常の昇格: 該当なし(前進だけ) / 巻き戻さない - ロールバック: コードだけ(DBは戻らない) / スキーマは前進のみ 【観点】 - ロールバックの注意点: ロールバック
リリースノートと稼働の記録
公開が成功すると、自動処理がGitHub Releaseに変更の一覧を残します。この5Sラボのサイトの「リリースノート」ページでも公開内容と稼働の記録を確認できます。担当者から成功の報告を受けたら、本番のURLで依頼した操作を試しましょう。開始の通知や、過去に付いたタグだけで完了と判断しません。
押さえておきたい用語
- 昇格
- 確認済み候補
- SHA
- digest
- releaseタグ
- ロールバック