Cygwin on Vagrant + chef-solo + Berkshelf インストール編
Cygwinが絡むと毎回色々悩んでいるのでメモ。
Windows7 64bit
Cygwin 1.7.25 32bit
Vagrant 1.6.2 Windows版
VirtualBox 4.3.12.r93733 Windows版
Chef 11.8.0 Windows版
Berkshelf 2.0.16 Windows版
Chefは元々入っていたのを使うので少し古め。
Berkshelfはバージョン2と3で使い方が違うようなので使い慣れた2の最新を選択。
Vagrantは普通に入れる。
$ vagrant --version Vagrant 1.6.2
プラグインも入れる。
$ vagrant plugin install sahara $ vagrant plugin install vagrant-omnibus
VirtualBoxはインストール後、Vagrantから起動するためにPATHに追加しておく。
$ VBoxManage.exe -v 4.3.12r93733
Chefはインストール後、Cygwin経由で起動できるようaliasを定義しておく。
~/.bashrc
# alias for cygwin-chef CHEF_ROOT="/cygdrive/g/apps/opscode/chef" CHEF_RUBY="${CHEF_ROOT}/embedded/bin/ruby" alias chef-solo="${CHEF_RUBY} $(cygpath -m ${CHEF_ROOT}/bin/chef-solo)" alias knife="${CHEF_RUBY} $(cygpath -m ${CHEF_ROOT}/bin/knife)" alias chef-client="${CHEF_RUBY} $(cygpath -m ${CHEF_ROOT}/bin/chef-client)" alias berks="${CHEF_RUBY} $(cygpath -m ${CHEF_ROOT}/embedded/bin/berks)"
確認
$ chef-solo-version Chef: 11.8.0 $ chef-client -v Chef: 11.8.0 $ knife -v Chef: 11.8.0
Berkshelf。
Windowsのcmd.exeで、chef同梱のrubyにインストール。
set PATH=%PATH%;g:\apps\opscode\chef\embedded\mingw\bin cd g:\apps\opscode\chef\embedded\bin gem install berkshelf -v '2.0.16' berks.bat -v Berkshelf (2.0.16)
これもCygwin経由で起動できるよう、aliasを定義しておく。
alias berks="${CHEF_RUBY} $(cygpath -m ${CHEF_ROOT}/embedded/bin/berks)"
確認
$ berks -v Berkshelf (2.0.16)
あとはいつもの。
cd hoge berks install -p ./chef_solo/cookbooks vagrant up