目次 |
---|
Kitchen を使う準備
情報 |
---|
Kitchen について詳しくは Kitchen での Cookbook の動作チェック(ChefsMeetingNagoya Vol.1)#Kitchenとは を参照してください。 |
.kitchen.yml
...
rails Cookbook では以下のような .kitchen.yml を作成しました。
rails はデフォルトで 3000 番ポートを使用しており、コンテナの 3000 番ポートをホストの 3000 番ポートにフォワーディングしています。
コード ブロック | ||
---|---|---|
| ||
--- driver: name: docker provisioner: name: chef_zero platforms: - name: centos-6.4 driver_config: image: centos:centos6 platform: rhel forward: 3000:3000 suites: - name: default run_list: - rails attributes: rails: user: kitchen |
forward: 3000 は rails がデフォルトで使用するポート番号です。
Kitchen インスタンスの起動とプロビジョニング
次のコマンドを実行すると、.kitchen.yml に基づいたインスタンスが起動し、Recipe が実行されます。インスタンスを起動し Recipe の実行が終わったら、Kitchen インスタンスにログインしてみてください。
コード ブロック |
---|
[vagrant] $ kitchen setup |
成功したら、Kitchen インスタンスにログインしてみてください。
コード ブロック |
---|
[vagrant] $ kitchen login
kitchen@localhost’s password: kitchen |
※ パスワードは 'kitchen' のようです。
ログインできたら、Recipe が期待通りに動作したか確認してみてください。
...
※実行中のrails server にブラウザでアクセスしてみるので、終了はしないでください。
Web ブラウザで rails Server にアクセス
Firefox などの Web ブラウザで http://localhost:3000/ にアクセスしてみてください。
rails の画面が表示されていれば成功です。
Serverspec を使ったテスト
Serverspec のテストコードは以下の様に作成しました。テストコードは以下の様に作成しました。
コード ブロック | ||
---|---|---|
| ||
require 'serverspec' include Serverspec::Helper::Exec include Serverspec::Helper::DetectOS describe command("sudo -iu kitchen ruby -v") do it { should return_stdout /^ruby 2\.1\.2.*/} end describe command('sudo -iu kitchen rails -v') do it { should return_stdout 'Rails 4.1.0'} end |