本番で試さずに済むよう、手元に同じ環境を作った

公開しているサイトで試すと、壊れたときに表に出ます。手元で試せる状態を作った話です。

この記事の結論

  1. 公開中のサイトで試すと、壊れたときに人に見られる
  2. 手元に同じ構成を作れば、何度でも壊せる
  3. 準備に半日かかるが、以後ずっと効く
  • 公開中のサイトで試すと、壊れたときに人に見られる
  • 手元に同じ構成を作れば、何度でも壊せる
  • 準備に半日かかるが、以後ずっと効く

公開しているサイトで直接試していたので、壊れるたびに焦っていた。手元に試す場所を作ってから、作業が落ち着いた。

本番で試す問題

公開中のサイトを直接触ると、こうなる。

  • 壊れた状態が、訪問者に見える
  • 焦るので、判断が雑になる
  • 大胆な変更を試せない

3つ目が地味に効く。壊せないと思うと、確実に動く範囲でしか試せない。

手元に作るもの

本番と同じ構成を、パソコンの中に作った。

  • 同じWordPressの版
  • 同じテーマとプラグイン
  • 記事のデータは、一部だけ写す

3つ目は全部でなくてよい。表示を確認できる程度に、数本あれば足りる。

準備にかかった時間

最初の構築に半日ほどかかった。

  • 動かすための道具を入れる
  • WordPressを入れる
  • テーマとプラグインを揃える
  • 記事を少し入れる

一度やれば、以後は使い回せる。壊れたら作り直せばよいので、心理的な負担も小さい。

どこまで同じにするか

完全に同じにしようとすると大変なので、線を引いた。

  • テーマとプラグインは同じにする。表示に直結する
  • PHPの版は合わせる。動かないことがある
  • サーバーの設定までは揃えない

3つ目を諦めたことで、準備が現実的な時間に収まった。違いがあることを分かったうえで使う。

手元で確認できないこと

同じにしていないので、確認できないこともある。

  • 表示の速度
  • サーバーの設定に依存する動き
  • キャッシュの挙動

3つ目は本番でしか確認できない。手元で動いたのに本番で変わらない原因は、たいていこれだ。

作るのを諦めた部分

完全な複製を目指すのをやめたことで、準備が進んだ。

  • SSLの設定は再現しない。手元では不要
  • メールの送信は動かない。試すときは別の方法で確認する
  • アクセス解析は入れない。数字が混ざると困る

3つ目は最初に失敗した。手元の環境から解析に数字が送られ、本番の記録が汚れた。手元で動かすものは、外部と通信する設定を外すという方針にしてから、この種の混入が無くなった。

作業の流れ

いまは、この順で進めている。

  • 手元で試す。何度でも壊す
  • 動いたら、変更箇所を記録する
  • 本番に、同じ変更だけを入れる
  • 本番で確認する

2つ目を飛ばすと、何を変えたか分からなくなる。試行錯誤の過程で、余計な変更が混ざっていることがある。

記録の取り方

変更箇所は、こう控えている。

  • どのファイルの、どこを変えたか
  • 変更前と変更後の両方
  • なぜ変えたか

3つ目を書くのは、後から見たときのためだ。自分で書いたコードでも、理由は忘れる。

本番に入れる順番

まとめて入れず、1つずつにしている。

  • 1つ入れて、確認する
  • 問題なければ、次を入れる
  • 問題が出たら、その1つを戻す

手間に見えるが、壊れたときに原因が1つに絞られる。まとめて入れて壊れると、切り分けに時間がかかる。

手元の環境でできること

作ってから、想定していなかった使い方も出てきた。

  • プラグインを入れる前に、影響を確かめる
  • WordPressの更新を、先に試す
  • テーマの大きな変更を、落ち着いて作れる

2つ目が特に効いた。更新で壊れることがあるので、手元で先に当ててから本番を更新するという順番にできる。以前は本番で更新して、壊れてから慌てていた。更新を先延ばしにする理由も無くなり、放置された古い版が減った。

控えは別に取る

手元に環境があっても、本番の控えは別に必要だ。

  • ファイルの控え
  • データベースの控え
  • いつ取ったか分かる名前を付ける

手元の環境は試す場所であって、控えではない。データは本番と違う。

まとめ

  • 本番で試すと、壊れた状態が訪問者に見える
  • 手元に同じテーマとプラグインの環境を作る
  • 記事のデータは、数本あれば足りる
  • 速度とキャッシュの挙動は、手元では確認できない
  • 本番には1つずつ入れる。まとめて入れない

AUTHOR

北海道のWEB屋

北海道を拠点に、Web業界14年・サポート実績1,000件以上。WordPressの復旧、サーバー移転、独自ドメインとメールの設定、PHP・JavaScriptの修正まで対応します。相談と見積もりは無料です。

関連記事

RELATED