Vagrant 1.7の新機能、vagrant pushでVCCWのコンテンツをデプロイ

昨日のお母さんのための_sコントリビューター講座に引き続きオレオレアドベントカレンダー13日目。

先日Vagrant 1.7がリリースされまして、それとともにAtlasというサービスがローンチされましたね。

あと、Vagrantにもvagrant pushという新しいコマンドも追加されたようです。

VAGRANT PUSH

ドキュメントを読んだ感じでは、リモートのサーバーにデプロイするためのコマンドのようで、デプロイ方法は以下の4つの方法が用意されているようです。

  • Atlas
  • FTP / SFTP
  • Heroku
  • Local Exec

というわけでVCCWにちょちょっと細工をしてvagrant pushを試してみました。

Local Exec

それぞれのドキュメントをサッと呼んでみたところWordPressのデプロイに使えそうなのは、Local Execですかね。

ドキュメントによると、以下のような二通りの記述で、vagrant pushを実行した際にシェルスクリプトを走らせることができるそうです。

config.push.define "local-exec" do |push|
  push.inline = <<-SCRIPT
    scp . /var/www/website
  SCRIPT
end

もしくは外部ファイルにシュエルスクリプトを書く方法。

config.push.define "local-exec" do |push|
  push.script = "my-script.sh"
end

以上が完了したら以下のコマンドでファイヤー。

$ vagrant push

このシェルスクリプトは、ゲストマシン側ではなく、ホストマシン側で実行されるようですが、意外とあっさり動作しました。

config.push.define "local-exec" do |push|
  push.inline = <<-SCRIPT
    vagrant ssh -c "cd /vagrant; wordmove push --all"
  SCRIPT
end

vagrant sshしてるのがミソですw

あとは、vagrant pushを実行するだけ。

WordMoveがセットアップ済みだと、意味があるのか無いのかよくわかんない感じですが、シェルスクリプトを叩けるので、いろいろ使い道がありそうですね。

WordMoveを試したい方は以下の2つの記事が参考になると重います。

というわけで、これだけじゃつまんないので、Atlasの方も今度試してみます。