July Tech Festa A30: serverspec: Chef/Puppetと一緒に使うサーバテストのためのテスティングフレームワーク
宮下さん: ・ここまではRSpecがやってくれるので、自分でここまで作り込んでいるわけではありません。 #techfesta
2013-07-14 15:18:07serverspecも注目度が高いですね。 #techfesta http://t.co/igyY0dAHsR
2013-07-14 15:18:31宮下さん:シェルコマンド実行によるサーバーのテストをスマートにやれるようにしたのがserverspec #techfesta
2013-07-14 15:18:50宮下さん:rubygemsパッケージをインストール: ・その後、gemコマンドでserverspecをインストール ・serverspec-initコマンドを実行(対話形式でテストのテンプレートを作成) ・rake spec(で実際にテストを実行) #techfesta
2013-07-14 15:19:49宮下さん:commandというものを使うと、コマンドを実行して結果を判定することができるようになっている。 #techfesta
2013-07-14 15:26:39宮下さん:Twitterとかで見かける:PuppetやChefがあればいらないのでは? ・それってPuppetやChefを信頼してない?という意見も ・実際に使うときは、マニフェストを流し込んだあとは、確認していると思うので、serverspecはそれを楽に #techfesta
2013-07-14 15:28:22宮下さん:一度書いたマニフェストやレシピを更新しないのであれば、不要かも。しかし、継続的に更新するのであれば、有用ではないかと。 #techfesta
2013-07-14 15:29:06宮下さん:プログラムのリファクタリングと一緒: ・私も、この辺りがきっかけで serverspec を。 →リファクタリングして、どうやって確認? #techfesta
2013-07-14 15:29:47serverspec 構築完了状況の評価より、障害時などにおいて、有るべき状態との差異を把握するのに使えそう。 #techfesta
2013-07-14 15:30:34宮下さん:なぜ作った?: ・既存の機能は機能が多すぎたり、特定のツールに依存してたりするのがイヤ #techfesta
2013-07-14 15:30:46宮下さん:serverspecの特徴: ・マニフェストを継続的に更新するならテストコードも継続的な更新が必要。 ・なのでテストコードの読みやすさや書きやすさも重要 #techfesta
2013-07-14 15:31:53#techfesta サーバ固有の値に関するテストについて、どうしようかと悩んでいたら、ここから参照してみては? http://t.co/p5e9kHNK5g
2013-07-14 15:32:54宮下さん: ・利用のための敷居が低い →テスト駆動サーバー構築ってことは、結構前から考えていた →それは敷居が高すぎて、自分自身も使わなくなってしまった… #techfesta
2013-07-14 15:33:08宮下さん: ・テストはシェルコマンドを実行しているだけ →問題が起こった時も調査しやすい →failするとコマンドラインも表示されるので切り分けしやすい #techfesta
2013-07-14 15:34:15宮下さん: ・サーバ構築の継続的インテグレーション →開発では一般的だが ・Puppetマニフェストを更新したら自動でマニフェスト適用とserverspecによるテストを実施 #techfesta
2013-07-14 15:35:18宮下さん: ・CIのツールとしてはJenkinsが有名 ・UkigumoというPerlのを私は使っている →シンプルで使いやすい #techfesta
2013-07-14 15:36:15ChefやPuppetでサーバが自動構築できてても、自動構築後のテストがないサーバは「レガシーサーバーだ」みたいな話になるのかな。レガシーコード改善ガイドっぽく... #techfesta
2013-07-14 15:37:23