PHPアプリケーションとして、WordPressはFTP経由でファイルをアップロードするという古い方法でデプロイメントされることがよくあります。これは特に、非常に重いWordPressプロジェクトをデプロイする必要がある場合に、ストレスとなったり、長い時間がかかったりします。
数あるツールの中で、Jenkins、Beanstalk、Deployは、自動化されたわずらわしくない方法でWordPressをデプロイしますが、記事ではRubyの強力なパッケージ「Wordmove」を紹介します。Wordmoveは、WordPressのWebサイトをスピーディーかつ簡単にデプロイできます。
Wordmoveとはなにか
WordmoveはRuby製の軽量なgem(ライブラリー)で、ローカルの開発マシンからリモートのステージングサーバーへ、WordPressのローカルとデータベースのデータを自動的にミラーリングできます。
Wordmoveは、WordPressのCapistrano(自動デプロイツール)として考えられ、完全なプッシュ機能とプル機能を備えています。GitHubをよく知っているなら、WordmoveをGit、リモートWordPressをGitHubリポジトリ、そしてWordPressのローカルをリポジトリをフォークしたローカルクローンとして考えて構いません。
Wordmoveは、OS XとLinux両方のオペレーティングシステムを完全にサポートしており、SSH接続もサポートしていますが、FTPは今後、中止される予定です。
Wordmoveのメリット
- ライブサイトへのローカルWordPressのデプロイ:WordmoveはWordPressサイトを運用サーバーにデプロイする自動化された簡単な方法を提供している。時間のかかる手動プロセスが必要ない単純なコマンド「wordmove push --all」ですべての作業が終わる
- プッシュ機能とプル機能:Wordmoveを使うと新しい変更をプロダクションサーバーにプッシュでき、更新されたデータベースなどの新しい変更をプロダクションサーバーからプルすることもできる。Wordmoveは、WordPressファイルとデータベースを手動でバックアップするプロセスの高速化に役立つ
- プッシュまたはプルのみを指定する機能:Wordmoveは、ユーザーがすべてのWordPressファイルをいつでもプッシュする必要はないことを知っているので、プッシュする対象(データベース、プラグイン、テーマ、アップロードされたメディアファイルのみ)を指定するオプションがある
- 一度に複数の環境で作業できる:ステージングサイト、プロダクションサイトなどがあれば、一度に複数の環境での作業もできる。「Multiple Environment Explained 」を参照のこと
- 超高速:WordmoveでWordPressファイルをプッシュまたはプルするのは、驚くほど高速かつ簡単だ。ファイルのコピーを超高速にしてFTPの約5~10倍の速さにするrsyncを使用しているからだ
Wordmoveのインストール
WindowsユーザーならWordmoveのインストールは簡単です。Wordmoveをインストールする前に、Rubyをマシンにインストールしておく必要があります。Linuxやその他オペレーティングシステムとは違い、WindowsにはRubyがプリインストールされていません。インストール後はターミナルまたはコマンドプロンプトでコマンドを実行できます。
gem install wordmove
WordmoveはWindowsを正式にサポートしていないことに注意してください。「Windows (un)support disclaimer(Windows(非)サポート免責条項)」を参照してください。ただし、WordmoveがWindows上で動作しないという意味ではありません。私はWindowsでWordmoveを使用しています。Wordmoveの開発者は問題が発生しても、Windows環境に関する問題を解決できないということです。
使用法
wordmove help
Tasks:
wordmove help [TASK] # Describe available tasks for one or more specific task
wordmove init # Generate a brand new Movefile
wordmove pull # Pulls WordPress data from remote host to the local machine
wordmove push # Pushes WordPress data from local machine to remote host
Movefile
WordmoveにはMovefileが必要です。YAMLファイルにはすべてのローカルとリモートのホスト情報があり、コンフィギュレーションファイルとして機能します。プッシュまたはプル操作をする前に、この例を参照してください。Movefileを作成するにはWordPressのルートディレクトリの(コマンドラインのcd)に移動し、次のコマンドをコピーします。
wordmove init
このコマンドはWordPressのルートディレクトリに直接新しいMovefileを生成するので、テキストエディターでファイルを開き、設定を使用して編集します。サポートされている設定の詳細を理解し、Movefileに関する詳細な知識を得るには、「Movefile Configuration Explained」を参照してください。
すべてのWordPressをリモートサーバーにプッシュする
Wordmoveではターミナルやコマンドプロンプトで、1行のコマンドを実行するだけでWordPressをすべてリモートサーバーに送れます。
wordmove push --all
すばらしいと思いませんか? 単純なコマンドを実行すると、すべてのWordPressが本番サイトに転送されます。新しいファイルや変更されたファイルだけをプッシュするときは、Wordmoveがファイルの違いをチェックし、編集済みまたは新規ファイルのみをプッシュするので、同じコマンドを使用します。ファイルの重複を心配する必要はありません。
リモートからプルする
Wordmoveでは、リモートサーバーからローカルサーバーへファイルを簡単に引き出すこともできます。プルコマンドを実行するだけでオプションを追加できます。たとえば更新されたデータベースをプルし、新しくアップロードをしたい場合は、次のコマンドを実行します。
wordmove pull -dbu
dbuはdatabase and uploadsを意味します。使用可能なフラグと説明の一覧は「Usage and flags explained」を参照してください。
特定のフォルダーをプッシュする
Wordmoveは、ユーザーがWordPressファイルを常にすべてプッシュする必要は無いと知っているので、プッシュするファイルグループを指定するオプションがあります。たとえば、プラグインファイル、テーマ、アップロードのいずれかです。テーマを変更したと仮定し、次のコマンドを実行してリモートサーバーに変更をコミットします。
wordmove push -t
-tはテーマ、-uはアップロード、pはプラグイン、dはデータベースを表し、なにをプッシュするかによって変わります。
最後に
自動デプロイは、WordPressプロジェクトのデプロイを開始するたびに繰り返し作業する時間を節約します。また、デプロイ中のダウンタイムを最小限に抑え、ファイルの欠落や誤ったファイルのアップロードといった一般的な人為的ミスを排除するのに役立ちます。
本記事では、簡単で素早くWordPressをデプロイする強力なWordPressデプロイメントツールであるWordmoveを紹介しました。そのメリットの概要を説明し、それを使って基本的なプッシュ操作およびプル操作を実行する方法を示しました。
(原文:Introduction to Wordmove – a WordPress Deployment Tool)
[翻訳:柴田理恵/編集:Livit]