家のmacminiが調子悪くなってしまい・・・GWということもあり再インストールすることにした。
再インストール自体は、「Command + R」で起動して、ディスクユーティリティからDiskを消去して初期化し、
その後にMountain Lionの再インストールを行い、きれいになった。
せっかくきれいになったので、次に開発環境を作るのは、実機上ではなく、仮想環境上に作ることにする。
最近流行り?の vagrant を使ってみることにする。
まずは ruby のインストール。rbenv を使用することにした。
1
2
3
| $ brew install readline openssl
$ brew install rbenv && brew install ruby-build
$ CONFIGURE_OPTS="--with-readline-dir=/usr/local --with-openssl-dir=/usr/local" rbenv install 1.9.3-p385
|
.zshenv に追記
1
2
3
4
5
6
7
| if which rbenv > /dev/null; then
eval "$(rbenv init - zsh)"
[[ -d "${HOME}/.rbenv/completions" ]] && source ~/.rbenv/completions/rbenv.zsh
alias gem='rbenv exec gem'
alias ruby='bundle exec ruby'
alias rake='bundle exec rake'
fi
|
これで ruby のインストールは完了
使う ruby を先ほどインストールしたものにしておく
1
2
| $ rbenv global 1.9.3-p385
$ rbenv rehash
|
お次は veewee のダウンロード
1
| $ git clone https://github.com/jedi4ever/veewee.git
|
クローンし終わったら、veeweeに必要なgemをbundlerでインストール
1
2
| $ cd veewee
$ gem install bundler
|
Gemfileでvagrantがコメントアウトされているのでコメントじゃなくする。
1
2
3
4
5
6
| group :test do
gem "rake"
gem "vagrant" , "1.0.7"
#gem "chef"
#gem "knife-windows"
end
|
インストール
作成するテンプレートの一覧は以下のCommandで見れる
1
| $ bundle exec vagrant basebox templates
|
今回はfedora18を作成した。
1
| $ bundle exec vagrant basebox define 'fedora18' 'Fedora-18-x86_64'
|
これで fedora18 という名前で環境が定義される。
以下のCommandでビルド。途中でISOをダウンロードするか聞かれるので yes と答える。
1
| $ bundle exec vagrant basebox build fedora18
|
けっこう長い間待つと、作成完了して、sshでログイン出来るようになる。
初期パスワードは、 vagrant
1
| $ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 7222 -l vagrant 127.0.0.1
|
作成したboxのエクスポートは以下のCommandで出来る。
1
| $ bundle exec vagrant basebox export fedora18
|
これでカレントディレクトリに fedora18.box ファイルが出来る。
次にこの box をvagrantに追加して使っていく。
1
2
| $ bundle exec vagrant box add 'fedora18' 'fedora18.box'
$ bundle exec vagrant init fedora18
|
これで完了。
起動は
1
| $ bundle exec vagrant up
|
停止は
1
| $ bundle exec vagrant halt
|
一時停止的なのは、
1
| $ bundle exec vagrant suspend
|
復帰は
1
| $ bundle exec vagrant resume
|
参考
chef-soloで使用するvirtualbox(vagrant)をveeweeを使用して作る #Ruby #chef - Qiita [キータ]