弊社では開発には主に Rails を使うのですが、いくつかのサイトでは WordPress を使っています(この kray.jp もそうです)。
先日その内の一つをアップデートしたのですが、今後のアップデートをし易くするために、運用手順を一新してみました。
今回はそれを紹介したいと思います。
before
以前はサイト全体を git リポジトリにコミットして、それを capistrano でデプロイする、という手順で運用を行っていました。
これには以下のような問題がありました。
- WordPress コア、プラグインのアップデートがしにくい
WordPress やプラグインのアップデート時に、データベースを更新する場合があるため、本番環境でも管理ページから更新する必要があります。
そのため、アップデート作業は各環境で行わなければならず、リポジトリ管理との相性がよくありません。
- デプロイにコマンドライン操作が必要
cap deploy
だけですが、それを実行できるようにするための環境づくりも含めて、誰でもできるようにするのは中々大変です。
after
以上の問題を解決するために、次のような手順での運用に変更してみました。
リポジトリ管理下に置くのは自作のテーマ、プラグインのみとする
WordPress コアや、配布されているプラグインについてはバージョン管理しないようにしました。
なんということでしょう! これによって、各環境で個別にアップデートするだけでよくなりました!
自作テーマの更新は WordPress の管理ページからアップロード
なんということでしょう! WordPress の管理機能を使ってのアップデートなので、コマンドライン操作をする必要がなくなりました!
ただし、テーマは上書きができないので、別途 Easy Theme and Plugin Upgrades というプラグインを導入しています。
これによって、新規インストールのフォームで上書きが選べるようになります。
上書きすると、元のバージョンがメディアの中にバックアップされるので、外部からアクセスできないように制限をかけなければならない点は注意が必要です。
+α
開発環境を構築するためのスクリプトを用意したのですが、その際に、WP-CLI という WordPress をコマンドラインで操作するためのツールを見つけました。
これを活用すれば、もっと色々改善できるところがありそうです。
より良い運用方法は?
以前よりは格段に身軽になったのですが、まだまだ改善の余地はあると思っています。
「こうした方がいいんじゃないか?」「うちではこんな運用しているよ」等々ご意見いただけるとうれしいです。
このエントリーに対するコメント
- トラックバック
「いいね!」で応援よろしくお願いします!