ページ

2013-09-05

VagrantでCentOS上にRailsの開発環境を構築するヤツ書いた



特にRailsはやらないのですが、やりたくなった時のために簡単に開発環境を構築できるようにしました。




vagrantでCentOS6を立ち上げてRailsをインストールするところまで全自動です。

作ったのはこれです。

https://github.com/mironal/rails-dev-on-centos6

vagrantの導入方法や使い方ははdotinstallのvagrantのレッスンをやると分かると思います。

今回作ったのはVagrantfileとプロビジョニングのスクリプトです。

プロビジョニングとはマシンを起動した時に色々やってくれるNiceな仕組みです。
今回はシェルスクリプトを実行するようにして、必要なソフトウェアをインストールしたりしています。

以下の手順でコマンドを実行していけば、セットアップされた開発環境にsshで接続できます。

vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box

cd <git_clone_dir>
git clone https://github.com/mironal/rails-dev-on-centos6.git
cd rails-dev-on-centos6
vagrant up
vagrant ssh

内部的には

VMが立ち上がる→provision.shが実行される→セットアップ完了という流れで作業が進みます。

provision.shにインストールするものなどの指示が書いてあります。

本来はChefとか使うとナウいのだと思いますが、よく分からんのでシェルスクリプトで書きました。

起動時にprovision.shを実行しろという指示は"Vagrantfile"に書いてある
config.vm.provision :shell, :path => "provision.sh"
という部分でしています。

まだこれを使って開発はしていないのですが、とりあえずvagrantの練習になりました。

ちなみに:

Vagrantfileを書き換えた場合はvagrant reloadを
プロビジョニングを変更した時はvagrant provisionを実行すると良いです。

最初プロビジョニングを弄ってる時にもvagrant reloadをしまくっていたのですが、これだとVMの再起動が発生するために長い待ち時間が発生していました。

vagrant provisionならシェルスクリプトが再実行されるだけなので早くて良いです。

なお仮想マシンを終了させたい時はvagrant haltです。サスペンドなどもあるので調べてみて下さい。

仮想マシンが必要なくなったらvagrant destroyで削除できます。
このコマンドを実行してもVagrantfileなどは削除されないのでまた使いたくなったらvagrant upを実行すればまた環境を作りなおすことが出来ます。

大変便利だと思います。

0 件のコメント:

コメントを投稿