Your SlideShare is downloading. ×
0
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

serverspecみんなで集めて(゚Д゚)ウマー?

2,339

Published on

0 Comments
14 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,339
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
21
Comments
0
Likes
14
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. serverspecみんなで集めて(゜Д゜)ウマー?serverspecみんなで集めて(゚Д゚)ウマー?橋本 将
  • 2. serverspecみんなで集めて(゜Д゜)ウマー?serverspecというgemで遊んでみました● できる事● 構築済みサーバをRSpecでテスト● 参考URL● http://serverspec.org● http://mizzy.org/blog/2013/03/24/3/
  • 3. serverspecみんなで集めて(゜Д゜)ウマー?導入● おもむろに以下を実行$ gem install serverspec$ serverspec-init※以下、出力は加工したもの※Select a backend type: 2(local)Select OS type of target host: 3(Debian)
  • 4. serverspecみんなで集めて(゜Д゜)ウマー?ファイル構成● Rakefile● spec/spec_helper.rb● 接続の仕方(SSHなど)やOS(Debianなど)を変更する場合はここ● あるいはこのファイルだけ削除して再init(作成済みのspecはそのまま)● spec/<ホスト名>/<なにか名前>_spec.rb● ntpd_spec.rbやhttpd_spec.rbなど好みの単位で分けてspecを作成
  • 5. serverspecみんなで集めて(゜Д゜)ウマー?specの作成● こんな記述を追記● 環境によってうまいことやってくれる● 詳細は後述describe httpd doit { should be_installed }it { should be_enabled }it { should be_running }end
  • 6. serverspecみんなで集めて(゜Д゜)ウマー?実行● 以下のコマンドを実行● 構築済みのサーバのテスト!!!● 超age$ rake spec/usr/bin/ruby -S rspec spec/localhost/httpd_spec.rb...Finished in 0.99715 seconds3 examples, 0 failures
  • 7. serverspecみんなで集めて(゜Д゜)ウマー?httpd_spec.rbの詳細(1)● should be_installed● 主語がインストール済みを期待● Debianならdpkg -s <主語>● Redhatならrpm -q <主語>● よしなにしてくれる
  • 8. serverspecみんなで集めて(゜Д゜)ウマー?httpd_spec.rbの詳細(2)● should be_enabled● 主語が有効(ブート時に起動する)事を期待● Debianならls /etc/rc3.d/ | grep <主語>● Redhatならchkconfig --list <主語> | grep 3:on● よしな(ry
  • 9. serverspecみんなで集めて(゜Д゜)ウマー?httpd_spec.rbの詳細(3)● その他● http://serverspec.org/matchers.html● ファイルがsymlinkか見たり● iptablesチェックしたり● ファイルの中身見たり● 色々ある● spec_helper.rbについても省略
  • 10. serverspecみんなで集めて(゜Д゜)ウマー?試しにspecをいくつか書いてみた● 後で以下にpushします● https://github.com/sho-h/serverspec-examples.git$ ls spec/localhostbootlogd_debian_spec.rb mysql_debian_spec.rbpostgresql_debian_spec.rbcron_debian_spec.rb ntpd_spec.rbssh_debian_spec.rb hosts_spec.rbp2p_spec.rb users_spec.rbhttpd_spec.rb postgresql_redhat_spec.rb
  • 11. serverspecみんなで集めて(゜Д゜)ウマー?いくつかピックアップ● bootlogd_debian_spec.rb● users_spec.rb● ntpd_spec.rb● p2p_spec.rb
  • 12. serverspecみんなで集めて(゜Д゜)ウマー?bootlogd_debian_spec.rb● /var/log/bootに起動時のログを保存する設定の確認describe /etc/default/bootlogd doit { should contain "BOOTLOGD_ENABLE=Yes" }end
  • 13. serverspecみんなで集めて(゜Д゜)ウマー?users_spec.rb● ユーザ設定の確認me = ENV["USER"]describe me doit { should_not belong_to_group me }it { should belong_to_group adm }end
  • 14. serverspecみんなで集めて(゜Д゜)ウマー?ntpd_spec.rb● NTPまわりの設定確認● NTPの同期が継続している事を確認describe ntp doit { should be_installed }end...describe ntpq -pn doit { should get_stdout /^*d/ }end
  • 15. serverspecみんなで集めて(゜Д゜)ウマー?p2p_spec.rb● P2P関係のソフトウェアがインストールされていない事を確認● これ関係は深くやるなら別のツールがよい● 簡単なチェックをついでにする程度describe amule doit { should_not be_installed }enddescribe azureus doit { should_not be_installed }end
  • 16. serverspecみんなで集めて(゜Д゜)ウマー?サンプルは以上● 超簡単● コードも少ないので把握も簡単(serverspecも含めて)
  • 17. serverspecみんなで集めて(゜Д゜)ウマー?うれしい事● ヒューマンエラー削減● 経験に頼らないチェックが可能● chef的なツールを使ってなくても導入可● プロジェクト間の共有のしやすさ● 使いまわしやすい● 集まるほどうれしい● 選ぶだけで終わる可能性すらある
  • 18. serverspecみんなで集めて(゜Д゜)ウマー?まだ気をつける必要がある事● アップデート回数が多い● 少し注意● みんなで枯らして使いましょう
  • 19. serverspecみんなで集めて(゜Д゜)ウマー?以上です● ご清聴ありがとうございました● 何かいいアイディアかspecがあればください

×