WordPressの開発環境を整える
先日先方のWordPressサイトのテーマを上書きしてしまって厳しく指導を受けた。
再発防止に向けて、本番環境は触らず、開発環境で動作を確認したうえでデプロイする方法に運用を変更する方法を考える。
現状
基本的に今の開発環境は次の流れで行っている。
- ローカルでテーマフォルダを作成し、コーディングをする。
- 書いたコードを開発用のWordPressサイトの管理画面のテーマファイルエディタにコピペする。
- 開発用のサイトで動作確認を行う。
- 問題がなければそのコードをコピーして、開発環境同様に本番環境のテーマファイルエディタの対象ファイルにペーストする。
今回は上記の4の過程の本番環境にコピペするときに違うファイルに上書きしてしまっており、表示がおかしくなってしまっていた。
対応策
1. GitHubで管理する
3の開発用サーバーで動作確認した後にGitHubにプッシュし、mainにマージすると自動で本番用サーバーにアップロードされるようにする。
以下の記事が参考になりました。
しかし私の場合、クライアントのFTP情報がわからずだったためここでのymlファイルの作成ができませんでした。
2. All in One WP migrationを使う
3の開発用サーバーでの動作確認が終わると、All in One WP migrationでファイルをエクスポートし、これを本番サイトにインポートする。
できたら1の方法でデプロイするのがスムーズでいいが、現状FTP情報の関係性で2しか採用できないためこちらを採用することにした。
開発サーバー内でGitの連携だけしておく
Git管理する場合、ルートディレクトリはテーマディレクトリにするか、WordPress ディレクトリにするか?
下記のように基本的にはテーマディレクトリしか編集しないので、テーマディレクトリでいいが、後々WordPress外のディレクトリを追加することもあるため、WordPressディレクトリにGitを置く方がベターだといえる。
WordPress ディレクトリに WordPress 以外のファイルを設置していたり、共通の CSS や JavaScript を参照しているといったケースでは、テーマディレクトリに Git を置いていると全体のバージョン管理ができないため、その場合は前者のように WordPress ディレクトリに Git を設置し、必要なファイルのみバージョン管理するよう .gitignore ファイルで設定するのがおすすめです。
「テーマだけ管理できればいい」という場合でも、サイトを運用するにつれ WordPress とは切り離したランディングページや個別ページを作るといったこともあります。
あとから Git の設置場所を変更して .gitignore ファイルを編集すればいいのですが、そういった可能性が少しでもありそうであれば、最初から WordPress ディレクトリに設置しておく方があとあとの修正が少なくて済みます。
そもそもの問題点はサイト更新時に他の本番サイトからコードを引用したことにあった。
そのため、本番サイトは引用せずに、開発サイトから引用するようにすれば問題ない。
今後開いていい本番サイトは1つだけ(現在作業中のもの)に限定し、コピーするときは開発用のサイトからにする。
上記で説明したAll-in-one WP migrationの方法はまとめて移行できるため、サイト開設初期では便利だが、サイトの少しの修正のために全てのデータを書き換えるのは時間がかかり無駄な工程が多くなる。
しかし、コードを丸々コピーできるのはそもそものファイルがある状態でないといけない。
新しくファイルを作成するときは本番サーバーで直接ファイルを新規作成、アップロードするしかない。
空のファイの作成は難しいのでアップロードする方法になるが、開発用をローカルとは別のところにおいておくと、直接ファイルのアップロードができない。
開発用はローカルにおいておいて、そこから本番用にアップロードする方法がよさそう。
本番サーバー:公開用(基本触らない)
リリースサーバー:公開前の確認
ローカル:開発用
dockerによるローカルへのWordPress環境の構築
ローカルにDockerでWordPressを導入したらとてつもなく動作が重たかった、、
対策1:volumeを適切に適応すればいい
対策2:環境を見直す