制作したコードを本番環境に反映させる際に失敗しない方法と間違ったコードを上げてしまい、サービスが停止してしまうなど取り返しのつかないことにならないように対策と作業手順を紹介します。
すでに存在しているファイルを修正し、アップデートする時を想定しています。
新規でファイルをアップする時に使えるテクニックも紹介しています。
作業手順
- 上書きするファイルをリストアップ
- 上書きするファイルのバックアップを取る
- 取ったバックアップと更新後ファイルで差分を確認
- バックアップはすぐに復帰できるように本番サーバに一時的に設置しておく
- ファイルをアップする(アップする時はマウスは使わない)
上書きするファイルをリストアップ
上書きが発生するファイルをリストアップし、どのファイルを変更したのか後から振り返ったりファイルのバックアップが取れているか、アップが完了しているのかチェックするためにリストアップし、メモしておきます。
例
1 2 3 4 |
n--themes/theme/index.php n--themes/theme/single.php n--themes/theme/page.php n--themes/theme/functions.php |
接頭字にnをつけることでno(何もしていない)と判別できるようにしています(ここのルールはお好みで)
上書きするファイルのバックアップをとる
上書きするファイルのバックアップを取り、ミスが起きてもすぐに元にもどせるようにしておきます。
念を入れて上書きするファイル以外の全てのファイルのバックアップを取っておいてもいいですね。
上書きするファイルのバックアップファイルの名前は先頭に_「アンダースコア」をつけて保存しておきましょう。こうすることで次の差分の確認や復帰作業がスムーズにできます。
バックアップを取ったらリストの接頭字をb(backup)とでもしておきましょう。
取ったバックアップと更新後ファイルの差分を確認
変更前と変更後の差分を確認します。
gitを使用し複数人で作業をしていると、いつの間にか他の人が編集し、マージされていたなんてことがあったり、マウスの操作ミスで自分でも気づかぬうちにコードを変更してしまっていたなんてことがあります。
予期せぬ変更が起こらぬよう、どこを変更したのか最後に確認を行いましょう。
バックアップを取った際にバックアップファイルの先頭にアンダースコアをつけることで、比較すべきファイルがどれなのか、過去のファイルがどれなのかを判断しやすくなります。
さらにタスクランナーなどを使用しており、間違って作動した場合も、アンダースコアをつけておけばコンパイルなどさせる恐れがなくなります。
変更前と変更後の差分の見方
VSCodeで変更前のファイルを開きます。
↓
command+shift+pでコマンドパレットを開きます。
↓
File:Compare Active File withと入力するか「ファイル:アクティブファイルを比較」をプルダウンから選択します。
↓
比較するファイルを選択するパレットが開きますので変更後のファイルを選択するとこのような画面が開き、変更箇所が赤いラインで非表されます。
左が変更前で右が変更後です。
バックアップはすぐに復帰できるように本番サーバーに置いておく
差分の確認が終了したら、アンダースコアのついたバックアップファイルをそのまま本番サーバーのそのファイルがもともと存在した同じディレクトリにおいておきます。
1 2 3 4 5 6 7 8 9 |
***本番サーバーの中*** _index.php _single.php _page.php _functions.php index.php single.php page.php functions.php |
本番サーバーの中はこのような状態になります。
こうすることで何かあった際に、バックアップ作業が速やかに行えます。
WordPressのfonctions.phpを編集しているとよくありますが、1文字ミスるとサイトが機能しなくなります。このようにサービスが停止してしまうと、1秒でも早く復旧することが求められます。
そんな時、容量の重いバックアップファイルをローカルから本番にアップしていては時間がかかりますので、こうすることでリネームするだけでファイルを戻すことができるようにしています。
ファイルをアップする
ファイルを本番へアップします。アップする際は必ずコマンド操作で行います。
マウスを使用すると操作ミスの原因となります。
本番でこのようなミスをしないためにアップしたいファイルの選択は上下の矢印キーで行い、アップする際はエンターキーを使用しましょう。
Filezilla
リンクさせる方法はリンクさせたいディレクトリに入り、このボタンを押す
以上…
コメント