WordMove メモ(あっさり解決)

WordMoveを使ってVagrant内のWordPressと本番環境を同期する! | Firegoby

宮さんのブログを参考に網元 ⇄ ローカルでwrodmoveを使おうと、設定中。
しかし、以下のエラーが出る。


/usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh.rb:219:in `start': Authentication failed for user ec2-user@xxx.com (Net::SSH::AuthenticationFailed)
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/photocopier-0.0.10/lib/photocopier/ssh.rb:52:in `session'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/photocopier-0.0.10/lib/photocopier/ssh.rb:60:in `exec!'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/deployer/ssh.rb:54:in `remote_run'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/deployer/ssh.rb:62:in `download_remote_db'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/deployer/ssh.rb:34:in `pull_db'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:47:in `block in pull'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:34:in `block in handle_options'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:32:in `each'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:32:in `handle_options'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:46:in `pull'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/bin/wordmove:6:in `'
from /usr/local/rbenv/versions/2.1.2/bin/wordmove:23:in `load'
from /usr/local/rbenv/versions/2.1.2/bin/wordmove:23:in `'

ってことで一旦メモ。
まだ原因不明のまま。

原因判明w

判明ってほどでもなかった…(^0^;)
ssh-agentを使ってVagrant上のゲストOSからMac側の秘密鍵を使えるようにする | Firegoby
こちらの記事中にある

以下のコマンドでssh-agentに秘密鍵を登録するだけです。

ssh-add -K ~/.ssh/id_rsa

-Kというオプションは、Macのキーチェーンに保存しといてねっていう意味で、これをしないとMacを再起動した時に忘れちゃうようです。

の部分で、僕の網元では~/Dropbox/配下に置いてある.pemキーを使っていたので、単純に


ssh-add -K ~/Dropbox/xxxx/xxx.pem

に差し替えるだけですんなり wordmove pull –all でダダーっとリモートからデータを持ってきてくれました!! 感激っす 😀

因みにssh-addしちゃったヤツを取り消すには、


ssh-add -d 消したい秘密鍵(-Dは全削除)

としてあげればOK。宮さんの記事中に、

以上で、VCCWからWordMoveを使いたいときには、WordPressの接続情報だけを書けばいいだけになりました。

従来の作業フローをひっくり返すほど便利なのでおすすめ。

とありましたが、ホントに快感です。
僕の網元環境では、ユーザーをnginxにしているので、Movefile内のuserをnginxにしました。

確認

上記の作業が完了したらためしにvagrant sshでゲストマシンにSSH接続して、以下のコマンドを実行してください。

$ ssh-add -l

以下のような出力があればばっちりです。

2048 6e:ef:86:27:2c:a9:xx:xx:xx /Users/xx/.ssh/id_rsa (RSA)

ssh-add -l でチェックするのを忘れないようにしよう(俺用)

WordMove使っていこう!!

ローカルで開発して部分的にpushってのも行けるみたいです。


[vagrant@wordpress vagrant]$ wordmove help
Commands:
wordmove help [COMMAND] # Describe available commands or one specific command
wordmove init # Generates a brand new Movefile
wordmove pull # Pulls WP data from remote host to the local machine
wordmove push # Pushes WP data from local machine to remote host

[vagrant@wordpress vagrant]$ wordmove help pull
Usage:
wordmove pull

Options:
-w, [–wordpress], [–no-wordpress]
-u, [–uploads], [–no-uploads]
-t, [–themes], [–no-themes]
-p, [–plugins], [–no-plugins]
-l, [–languages], [–no-languages]
-d, [–db], [–no-db]
-v, [–verbose], [–no-verbose]
-s, [–simulate], [–no-simulate]
-e, [–environment=ENVIRONMENT]
-c, [–config=CONFIG]
[–no-adapt], [–no-no-adapt]
[–all], [–no-all]

Pulls WP data from remote host to the local machine
[vagrant@wordpress vagrant]$ wordmove help push
Usage:
wordmove push

Options:
-w, [–wordpress], [–no-wordpress]
-u, [–uploads], [–no-uploads]
-t, [–themes], [–no-themes]
-p, [–plugins], [–no-plugins]
-l, [–languages], [–no-languages]
-d, [–db], [–no-db]
-v, [–verbose], [–no-verbose]
-s, [–simulate], [–no-simulate]
-e, [–environment=ENVIRONMENT]
-c, [–config=CONFIG]
[–no-adapt], [–no-no-adapt]
[–all], [–no-all]

Pushes WP data from local machine to remote host

気になることはとにかく直ぐやるべきッスね 😀
もっと早くやっておけば良かったです。

これでローカル・リモートの面倒くさい作業も楽勝ですね!!

2016/04/01追記

WordMoveって複数環境でpushやpullなどができることは知ってたんですが、実際使う機会なかったのでやってませんでした。今回、初めて複数環境(本番公開用と、プレビュー用)へ同じものを反映させる必要が出てきたのでやってみました。

-e 環境名 オプション でOK 😀

例えば、previewとstagingってセットがMovefile内にあって、previewに放りたい場合、

[code]wordmove push –all -e preview[/code]

でOK。いやはや、ホントに便利っすな〜 (^^)