110 Views
April 06, 15
スライド概要
Serverspecを使ってみた話
Slideshare から移行しました。 https://www.slideshare.net/yasufumimoritake
Serverspec を使ってみた話 Yasufumi Moritake
自己紹介
Yasufumi Moritake • @moriyasu0410 • github, twitter • 最近はPHPとRuby • 娘(1歳7ヶ月)のために玉子焼きを作ってます
Serverspec使ってますか?
Serverspec • 宮下 剛輔(@mizzy)氏が作成したサーバーの状態をテストするツール • 公式サイト • • http://serverspec.org オライリー本 • http://www.oreilly.co.jp/books/9784873117096 • RSpecベース • 構成管理ツール(Chef, Ansible, itamaeなど)に依存しない
Serverspecのテストコード
describe package('nginx') do
it { should be_installed }
end
!
describe command('nginx -v') do
its(:stdout) { should match /nginx\/1.6.*/ }
end
!
describe service('nginx') do
it { should be_enabled }
it { should be_running }
end
!
describe port(80) do
it { should be_listening }
end
なんとなくわかる!
やってみよう!
Serverspec導入ハンズオン
Serverspecインストール $ mkdir serverspec ! $ cd serverspec ! $ bundle init ! $ vim Gemfile + gem ‘serverspec’ ! $ bundle install --path vendor/bundle
Serverspec初期設定 $ bundle exec serverspec-init ! Select ! OS type: 1) UN*X 2) Windows ! Select ! Select ! number: 1 a backend type: 1) SSH 2) Exec (local) ! Select ! number: 1 Vagrant instance y/n: n Input target host name: vagrant + spec/ + spec/vagrant/ + spec/vagrant/sample_spec.rb + spec/spec_helper.rb + Rakefile + .rspec
Serverspecテスト実施 $ bundle exec rake spec ! Package "httpd" should be installed ! Service "httpd" should be enabled should be running ! Port "80" should be listening ! Finished in 0.35266 seconds (files took 1.12 seconds to load) 4 examples, 0 failures
Serverspec導入ハンズオン おしまい
Serverspecを使ってみた感想
導入が簡単
公式サイトのドキュメントが 充実している
Ruby知らなくても使える
既存のサーバー に対しても使える ※死活監視的な使い方ではないです
Ruby未経験の場合、 経験するキッカケとする
まとめ
Serverspec、 今すぐ使うべきだと思います!
ありがとうございました