検証と本番で移行内容が異なる場合のUpdateSetの移行

d-aizawa
Kilo Sage

コミュニティの皆様

いつもお世話になっております。
現在のプロジェクトで開発・検証・本番の3環境あり、
以下の対応を行い、本番移行(※)を行おうと考えております。
①UpdateSetAでClinet ScriptA(Incidentテーブル)とフィールド(Groupテーブル)を追加

②UpdateSetBでフィールド(Groupテーブル)を追加
※検証環境には移行済のため、上記UpdateSetAとBのステータスはCompleteに設定しています

→ただし、本番移行について、UpdateSetAに記録されているClinet ScriptAは、
お客様都合により、まだ移行したくない(移行時期をずらしてほしい)とのオーダーがあったため、
今回はやむおえず、以下手順で本番移行を行おうと考えております。
①UpdateSetCを作成し、UpdateSetAのフィールド情報をCに移動
②UpdateSet Bのフィールド情報をUpdateSetCに移動
③UpdateSetDを作成し、UpdateSetAのClient Script情報をDに移動
④UpdateSetAとBのステータスをComplete→Ignoreに更新
⑤UpdateSetCのステータスをCompleteに設定し、本番移行
(UpdateSetDは移行しない)

→手順⑤のUpdate SetCの移行でエラーになる可能性がある等、

何か懸念事項やご経験がある方は、ご教示頂きたいです。
よろしくお願いいたします。

8 REPLIES 8

iwai
Giga Sage

移動させたUpdateSetCを適用する方法も、技術的には問題ないとは思います。テストが行われていないUpdateSetを本番にリリースするのは危険なのは同感です。

そこでもうひとつ案を考えてみました。

Clinet ScriptA(Incidentテーブル)を過去に戻すUpdateSetCを作り、さらに再度最新版にするUpdateSetDを作ります。

検証環境にUpdateSetCを適用してテストして、本番環境と同じ動作をする事を確認する。

その後本番環境にUpdateSetA,B,Cを適用する。


本番環境への最新版の適用が許可された時点で、

UpdateSetDを検証環境に適用して、最新の動作をする事を確認する。

その後、本番環境に、UpdateSetDを適用して、最新化する。

iwaiさん
ご回答ありがとうございます。

今回は上記手順の方法で本番移行を行い、問題はないことを確認しておりますが、
テストしていないとUpdateSetを本番にリリースするのは危険の旨、承知しました。

 

またClient ScriptAを過去に戻すUpdateSetを作成するのではなく、
手順①~手順④までは実施して、
手順⑤のUpdateSetCを検証環境に移行してから、本番に移行する方法はいかがでしょうか。
→検証環境には同じ更新を2回適用することになります。

→この方法で問題なければ次回からはこちらの方法で行おうと思います。

手順①~手順④までは実施して、手順⑤のUpdateSetCを検証環境に移行してから、本番に移行する方法(検証環境には同じ更新を2回適用する)

整理すると以下の手順でしょうか、検証環境で本番と同等のテストが行えれるなら良いと思います。検証環境のClinet ScriptAが最新化されていて、本番と異なる(最新化しない)ならテストとしては不十分です。

  • ①UpdateSetCを作成し、UpdateSetAのフィールド情報をCに移動
  • ②UpdateSet Bのフィールド情報をUpdateSetCに移動
  • ③UpdateSetDを作成し、UpdateSetAのClient Script情報をDに移動
  • ④UpdateSetAとBのステータスをComplete→Ignoreに更新
  • ⑤UpdateSetCのステータスをCompleteに設定し、本番移行 検証環境に移行した後、本番に移行
    (UpdateSetDは移行しない)
    この時、検証環境にClinet ScriptAが最新版、本番環境は過去版(最新化しない)だと、本番環境でClinet ScriptAが過去版で動作し続けるかテストができません。
    検証環境も本番と同等でClinet ScriptAが過去版(最新化しない)状態でテストすることが最適だと考えます。

iwaiさん、ご確認ありがとうございます。
Client ScriptAはまだ本番環境に存在しないので、
現時点は、検証環境には存在(最新化)しており、本番環境には存在していない状態です。
こちらは、リリースの都合上(検証環境移行後に要望が発生)によるもので、
正式なリリースタイミングが決まり次第、UpdateSetDを検証環境に移行した後、
本番に移行する予定です。