Vagrantネタ第二弾です。今回はVagrant + Chef Soloを使って、Rails開発用のboxをローカルで作れるようにしました。具体的には、CentOS 6.5上にChef Soloで、nginx/mysql5.6/rbenv/ruby2.1.0などのベーシックな環境を自動構築します。
『test-kitchenでインフラのTDDに挑戦』でもほぼ同じことができます。加えて、Serverspecまでまとめで実行できるので、こちらのほうがオススメかも!
🐠 Vaggrant/Chefとは?
VagrantとはPC上に仮想マシンを作成できるツール。ChefやPuppetはサーバの構成管理ツール。
🚜 Vagrantのメリット
コマンド1つでVMを立ち上げたり・止めたり・削除したりできる |
🐹 Chef/Puppetのメリット
サーバの構成情報をgitなどで管理できるので変更点管理・チームでの管理が容易になる |
🐰 Vagrant
Vagrant 公式サイト
パッケージをDLしてインストール。
vagrantをインストールしたら、boxでChefを使えるようにするためのプラグインをインストール。あと、コミュニティの作ったCookbookのインストール。
vagrant plugin install vagrant-omnibus |
🐯 VirtualBox
VirtualBox 公式サイト
パッケージをDLしてインストール。
🎃 仮想マシンの作成
自分の好きな場所(例は~/Dropbox/Vagrant
)に仮想マシン用のフォルダを作成。
mkdir ~/Dropbox/vagrant |
🎉 Railsプロジェクトの作成
続いてRailsプロジェクトを作成します。本当はスクリプトでプロジェクトを作りたかったんですが、ちょっと失敗中のため、引き続き調査。
vagrant ssh |
🍮 ブラウザでのアクセス
http://192.168.33.10/
にブラウザをアクセスするとapp/
フォルダの中のファイルにアクセスできます。
🍄 GitHubリポジトリ
今回のVagrantfileをGitHubにも作っておきました!
😼 苦労している点
Chef
のノウハウがまだ全然たまっていないので、なんでもないところでつまずいてずっとググっています。
目標はHerokuレベルで簡単にアプリケーションをデプロイできるようになりたいなぁと夢見ています。