工作好きな情報系の雑記

[WordPress]ローカル環境でブログをアップデートし、変更をgit管理しつつ自動で本番環境へ反映する

今まで、ブログの外観設定などをいじる時はフルバックアップをとった上で本番環境を直接いじってしまっていた。
自分個人のためのブログだし、ビジネスでやってないし、失敗したとてロールバックはできるし、という考え。

正当なやり方でやるなら、ローカル環境でいろいろ試した上で変更を本番環境に反映するのが正しいということは分かっていた。
ただ、下記のようなWordpressの性質上うまいやり方がどうしても見つからず、正当な方法を取れていなかった。

とはいえ、なるべく変更履歴はgitで辿れるようにしておきたかったし、リリースブランチへの変更が自動でサーバーに反映される仕組みを導入したかった。

今回、一念発起してその仕組みを導入してみた。
これが最適解とは思ってないけど、自分なりの管理方法が固まったので、その辺りの方針や手順を記録しておく。

方針

ざっくりとした構成は下記の通り。

手順

ブログをローカル環境にも構築する

  1. ブログのバックアップデータであるzipを用意。
  2. XAMPPのhtdocs以下に上記を解凍。適当なフォルダ名に書き換える。"test"とか。
  3. wp-config.phpを下記のように書き換える。
  4. phpMyAdminを開く。MacだとXAMPPのGUIから開けないので、下記URLに直接アクセス。
    http://localhost/phpmyadmin/
  5. 新規のテーブルを作成し、バックアップに含まれていたSQLデータをインポートする。
  6. wp_optionsテーブルを開き、siteurlとhomeのvalueをhttp://localhost/test/に変更。

これで表示されるようになるはず。
リダイレクトの設定とかを施しているとローカル環境のサイトがうまく表示されない場合があるので、.htaccessを確認・修正する。

トップページは表示されるが下層ページが表示されない or 本番リンクにリダイレクトされる場合はパーマリンクの設定が間違っているので、ダッシュボード > 設定 > パーマリンクを開き、何も変更せずに保存するとよい。パーマリンクがlocalhost用に更新される。

先日、運用中のサイトの大規模修繕があり、備忘録として今回の記事を残すことにしました。 環境としては、macOS / Xserver(レンタルサーバー)/ MAMPとなります。 それでは手順を説明します。 本サーバーのWo
WordPressをデータベースごとローカルにコピー(移行)する方法|画像付で分かりや... - サイバーブリッジ株式会社

管理用のgitをローカル環境に追加

ブログ管理用のgitをcloneし、ローカル環境に上書きする。
branchはrelease以外にcheckoutしておく。

ローカル環境でブログをいろいろアップデートする

外観の設定などをいろいろ試す。

本番環境への反映

問題なければ本番環境に反映していく。

gitで管理していない部分についてはローカルに合わせて本番環境を手動でアップデートする。
gitで管理している部分についてはコミットして、releaseブランチにpush(もしくはプルリク送ってマージ)する。
すると、GitHub Actionsを経由して最新の内容がサーバー上に上がる。

GitHub Actionsについては下記あたりのサイトを参照した。

GitHub、使ってますか??僕も何かとお世話になっていまして、仕事をする日にGitHubを見ない日はないと行っても過言ではないのですが、2019年の11月には、「GitHub Actions」というものが公開されました。GitHub Ac
GitHub Actionsを使ってFTP自動デプロイ(Webサイト公開)を実現!ソフトを使った... - Arrown
この記事は SnowRobin Advent Calendar 2019 の7日目の記事です。こんにちは。先日、ようやくGitHub Actionsの正式版がリリースされました。GitHubは…
GitHub Actionsを使ったFTPの自動デプロイ - Qiita - Qiita
モバイルバージョンを終了