検証環境等への配備
この章は、検証環境などへ配備する場合だけ行います。ローカルでの確認だけを完了条件にする場合は対象外です。
配備の前に
- 配備する WAR・EAR のファイル名・ハッシュ値・作成日時が、ローカルで確かめたものと同じである
- 配備先のサーバーが、更新先が求める Java と仕様(javax / Jakarta EE)に対応している
- 戻すための直前の成果物と手順がある
- サーバーが共有ライブラリとして同じライブラリを持っていないかを、運用担当者と確かめる。サーバーのバージョンとアプリが同梱するバージョンのどちらが使われるか(クラスローダーの優先順位)を記録する。サーバーに組み込まれた JAR を自分の判断で消さない
配備のあとに
- 起動ログに
ClassNotFoundException・NoClassDefFoundError・NoSuchMethodError・LinkageError、名前空間の不一致、初期化の失敗が無い - 実際に読み込まれた JAR が、更新先のバージョンである(管理コンソール・クラスローダーのログで確かめる)
- 代表的な業務の操作が成功する(認証・外部連携を通したもの)
- 異常な入力が安全に拒否される
戻す
- 直前に正常に動いていた成果物を配備し直す
- サーバーを所定の手順で再起動する
- 起動ログと、実際に読み込まれた JAR を確かめる
- 代表的な操作で動作を確かめる
- データ・保存ファイルに不整合が無いか確かめる
戻すと古いバージョンの脆弱性がまた入ります。入力の制限・該当機能の停止などの代わりの対策を検討し、承認・影響の範囲・再更新の期限を記録してください。
記録
サーバー・配備日時・配備した成果物・共有ライブラリの確認結果・実際に読み込まれた JAR・起動ログ・業務の確認結果・問題・担当者と確認者と実施日を記録します。