HOME > Web > Wordpressのリリースを劇的に楽にするツール「WordMove」の使い方
Wordpressを本番サーバに移行してリリースする場合、通常はFTPソフトを使ってファイルをアップロードして、その後、DBベースのバックアップしたものを新サーバにインポートしてと、結構たいへんです。 そういったWordpressのサーバ移行をコマンド一発でできるツール「Wordmove」を紹介します。 さくらインターネットのサーバに移行します。
WordmoveとはRubyで作られたコマンドツールで、Wordpressのリリース(デプロイ)を簡単にしてくれるものです。
WordmoveのインストールにはRubyがインストールされている必要があります。 ※ Macには標準でRubyがインストールされているので問題ありませんがWindowsの場合はインストールする必要があります。 ターミナルを下記コマンドでインストールできます。cdコマンドでworkspaceに戻っておきます。 ※ 今回はMacの環境で利用している前提で話を進めます。
wordmoveのインストールは下記でインストールできます。
sudo gem install wordmove
Wordmoveの使い方として、下記の手順で使います。
wordmove
コマンドでデプロイ・リリースWordpressのルートフォルダに移動した状態でwordmove init
コマンドを実行して初期化します。
wordmove init
下記を実行したらMovefile
が作成されます。そのファイルを開いて編集していきます。
下記のとおりに修正してください。修正箇所はコメント箇所に#
マークを記載ています。
Movefile
local:
# ローカルのホスト情報
vhost: "https://xxx.xxx.com" # ★Cloud9のWordpressサイトのURL
# ローカルのWordpressルートフォルダのパス
wordpress_path: "/path/to/wordpress"
# ローカルのDB接続情報
database:
name: "db_name" # DB名
user: "db_user_name" # DB接続ユーザ名
password: "db_user_password" # DB接続パスワード
host: "127.0.0.1" # ホスト情報
staging:
# リリース先のホスト情報
vhost: "http://imagepitdev.sakura.ne.jp" # ★さくらインターネットのドメイン
# リリース先のWordpressルートフォルダのパス
wordpress_path: "/path/to/wordpress"
# リリース先のDB接続情報
database:
name: "db_name" # DB名
user: "db_user" # DB接続ユーザ名
password: "passwd" # DB接続パスワード
host: "db_host" # ホスト情報
charset: "utf8" # 文字コード設定
# port: "3308" # Use just in case you have exotic server config
# 除外するファイルを指定
exclude:
+ ".git/"
+ ".gitignore"
+ ".sass-cache/"
+ "node_modules/"
+ "bin/"
+ "tmp/*"
+ "Gemfile*"
+ "Movefile"
+ "wp-config.php"
+ "wp-content/*.sql"
ssh:
host: "xxx.xxx.com" # リリース先のホスト名
user: "xxx" # sshユーザ名
password: "xxx" sshパスワード
Movefileはyuml
という形式のファイルで定義されています。yumlファイルは各行のインデントを見ますので、各行のインデントの数を間違えないようにしてください。
これでWordMoveの設定は完了です。
Movefile
があるディレクトリでwordmove push
コマンドを実行する事によりデータをアップロードします。
wordmove push -e staging --all
下記のメッセージが出ていればデータ移行完了です。
エラーが出る場合は上記設定内容をもう一度見直してみましょう。
wordmove push
には様々なオプションがあります。DBの情報だけ、プラグインのみリリースするなど柔軟に設定する事ができます。
オプション | 説明 |
---|---|
-w | Movefileのexclude部分で指定した以外のソースの同期をします。 |
-u | uploads フォルダを同期します。 |
-t | wp-content/theme フォルダを同期します。 |
-p | wp-content/plugins フォルダを同期します。 |
-l | p-content/languages の*.mo , *.po だけ同期します。 |
-d | DBのデータを mysqlsump でダンプ -> mysqlコマンドでリストアします。 |
-v | メッセージの詳細表示。 |
-s | dry run モード。リリース前の動作確認として利用します。 |
-e | 環境を指定できます。雛形のMovefileは local と staging なので、production などで本番サイトの追加/切り替えができます。 |
-c | wp-congig.php も同期させます。 |
例えば、DBとプラグインのみをリリース環境に移行したい場合には下記のようにコマンド実行します。
wordmove push -d -p -e staging
これでリリース作業は完了です。リリース先のURLにアクセスして正常にサイトが表示されれば完了です。
今後は、ローカル環境で開発したら、wordmove push
コマンドを実行すれば簡単にリリースできます。
このようにしておけば今後は本番環境と開発環境で設定を変更したままやりとりができます。
既に本番環境でWordpressを運用している場合は、本番環境から開発環境(local)にデータをまるごとコピーする事ができます。その場合はMovefile
を設定した後にwordmove pull --all
を実行します。
wordmove pull --all
このようにWordMoveを使えば、本番環境から開発環境、開発環境から本番環境の移行が簡単に行われます。
フォルダ毎に環境変数を設定できるdirenvをインストールして.envrcファイルを作成してPATHを追加すればMAMPのmysqlで実行できる。
http://qiita.com/kompiro/items/5fc46089247a56243a62 http://blog.amedama.jp/entry/2015/10/05/020646
export PATH=/Applications/MAMP/Library/bin:$PATH