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などができることは知ってたんですが、実際使う機会なかったのでやってませんでした。今回、初めて複数環境(本番公開用と、プレビュー用)へ同じものを反映させる必要が出てきたのでやってみました。
- welaika/wordmove: Capistrano for WordPress
- Multiple environments explained · welaika/wordmove Wiki
- Movefile configurations explained · welaika/wordmove Wiki
-e 環境名 オプション でOK 😀
例えば、previewとstagingってセットがMovefile内にあって、previewに放りたい場合、
[code]wordmove push –all -e preview[/code]
でOK。いやはや、ホントに便利っすな〜 (^^)