a-sel's blog

株式会社青山セレクトの技術メモ件、日記

vagrantとchefの連携 その2

vagrant plugin install vagrant-berkshelf

を利用する方法で挫折したので、別の方法でチャレンジします。

http://www1205uf.sakura.ne.jp/wp/world/?p=398

 

 

プラグインはおいおいrubyに詳しくなったら再度調査すると思います。

gem install knife-solo

knife solo init chef-repo

でエラー

gemが足りないようなので

gem install win32-process --no-ri --no-rdoc

gem install windows-pr --no-ri --no-rdoc

を実行後再度

knife solo init chef-repo

を実行で成功

 vagrant up

したうえで

knife solo prepare -i "C:\Users\Faith corei7\.vagrant.d\insecure_private_key" -p 2222 vagrant@127.0.0.1

でなんとか成功した模様。

レシピに関しては別記事で

vagrantとchefの連携

vangrantでchefを利用する場合、いろいろ方法が有るみたいだが、一番メジャーなのが

vagrant-berkshelfというプラグインの利用らしい。

 

というわけで早速

vagrant plugin install vagrant-omnibus

vagrant plugin install vagrant-berkshelf

で後者でエラー。。。orz

 

ぐぐっても情報が見当たらず、ちょっと困っていたらvagrantのバージョンが古いみたいでした。。なんか1.3.5が最新だと思ったら、、レガシーコードの最新をみていたようです。

なので、入れなおして最新の1.6.1をインストール ついでなんでvirtualboxもちょっと古かったので一緒に4.3.10に再インストール

 

まだエラーが出る。。。

An error occurred while installing json (1.8.1), and Bundler cannot continue.

Make sure that `gem install json -v '1.8.1'` succeeds before bundling.

 

gemが必要なのか。。。ruby 入れてないからかな。。。

 

rubyをインストール後

gem install json -v '1.8.1'を実施

って今度はここでエラー。

Please update your PATH to include build tools or download the DevKit

from 'http://rubyinstaller.org/downloads' and follow the instructions

at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'

 

ディベロッパーバージョンでインストール必要があったみたい。。ruby。。。orz 

 DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

気を取り直して、ダウンロードして、解凍して、

ruby dk.rb init

ruby dk.rb install

でなんとか、gemでjsonはインストール完了

再度vagrant plugin install vagrant-berkshelf

を実施したがなぜか同じエラー。。。なぜだ。。ドハマり状態になりそう。。

 

vagrant plugin install vagrant-berkshelfは一旦挫折して以下の方法で

vagrantとchefを連携します。別の記事に書きます。

http://www1205uf.sakura.ne.jp/wp/world/?p=398

 

浦島タロウ

技術のお話では無いですが、最近、かなり自分が浦島タロウ状態になっていたってことを実感しました。アジャイル等は知ってはいましたが、ここまでツールが整って、便利になっているとは思いもしなかった。

問題意識もなく、ただひたすら開発していたらやっぱりそんな技術を知るよしもなく、、

問題意識(目的)を持って解決しようとする姿勢はやっぱり大事なんだなと思いました。

なんとなく、開発という業務が当たり前になって改善という部分から目をつぶっていたんだなとことごとく実感。「銀の弾丸」は無いとは言いますが、鉄の弾はいくらでも世の中に転がっているってことを思い知らされました。まだ、目に見える形では結果でていないですが、ベースとして、かなりの改善になる感触は高いです。

vagrantの利用

gitlabやjenkinsを利用するにあたって、やっぱり問題になるのは、開発環境と検証環境との差異。。

とりあえず、各自にまかせてローカルやサーバ上で、バーチャルドメインを切ってもらっていたが、どうもスマートではない。

というわけで、vagrantの導入決定。

試しに、自PCにインストールして、いろいろやってみた。

 http://lab.raqda.com/vagrant/getting-started/index.html

せっかくなので禁断の

sudo rm -rf /

もやってみたが、一応セキュリティでチェックが入っていて実行できないようになっているも模様。

ただ、

cd /

sudo rm -rf ./*

で行けた!って喜んでいる場合では無いが。。どうでも良い豆知識が増えて。。まあ、ubuntuなんでcentosはどうなるか知らないですが。。

 

 vagrant destroy

VMのディレクトリうまく消えないな。。。うーん。

 

PHPUnitのインストール バージョン3.7以降

PHPUnitのバージョン3.7から大きくモジュールが変更されたようで

phpunit.pharというjar的な関連ファイルを全てひとまとめになった形式に変更された。

したがって、今ままで3.6までのautoloaderを前提に利用していた物が軒並み動かいない。

3.6を探すか、、build.xmlを変更するか、、悩ましい。。

 

追加

pear install --alldeps phpunit/PHPUnit-3.6.12

3.6入れてみたがうまくいかない。。

 

phpunit本体が入ってないのでwgetで解凍して無理やり配置。。一応前には進んだ。

wget http://pear.phpunit.de/get/PHPUnit-3.6.12.tgz

tar xvzf PHPUnit-3.6.12.tgz

cd /usr/share/pear/

cp -R /root/PHPUnit-3.6.12/PHPUnit/ .

 

追記関連も手動インストール

http://yosiwo.lowtech.ne.jp/?p=1335

参照

mkdir tmp
cd tmp

curl -O http://pear.phpunit.de/get/PHPUnit-3.7.9.tgz
curl -O http://pear.phpunit.de/get/File_Iterator-1.3.3.tgz
curl -O http://pear.phpunit.de/get/PHPUnit_MockObject-1.2.2.tgz
curl -O http://pear.phpunit.de/get/PHP_CodeCoverage-1.2.6.tgz
curl -O http://pear.phpunit.de/get/PHP_Timer-1.0.4.tgz
curl -O http://pear.phpunit.de/get/PHPUnit_MockObject-1.2.2.tgz
curl -O http://pear.symfony.com/get/Yaml-2.1.3.tgz
curl -O http://pear.phpunit.de/get/PHP_TokenStream-1.1.5.tgz
curl -O http://pear.phpunit.de/get/Text_Template-1.1.4.tgz

tar xvzf PHPUnit-3.7.9.tgz
tar xvzf File_Iterator-1.3.3.tgz
tar xvzf PHPUnit_MockObject-1.2.2.tgz
tar xvzf PHP_CodeCoverage-1.2.6.tgz
tar xvzf PHP_Timer-1.0.4.tgz
tar xvzf PHPUnit_MockObject-1.2.2.tgz
tar xvzf Yaml-2.1.3.tgz
tar xvzf PHP_TokenStream-1.1.5.tgz
tar xvzf Text_Template-1.1.4.tgz

cd ..

cp -R PHPUnit-3.7.9/PHPUnit .
cp -R File_Iterator-1.3.3/File .
cp -R PHP_CodeCoverage-1.2.6/PHP .
cp -R PHP_Timer-1.0.4/PHP .
cp -R PHP_TokenStream-1.1.5/PHP . 
cp -R Text_Template-1.1.4/Text . 
cp -R  PHPUnit_MockObject-1.2.2/PHPUnit .

rm -rf ./tmp