Jenkins + AWSで   並列テスト        2012.11.23第2回 岡山Amazon Web Service勉強会         山本 和久
自己紹介• 山本 和久•   岡山Ruby/Ruby on Rails勉強会• @kazuhisa1976• 株式会社リゾーム
読書会が熱い• @patorashさんが主催• メタプログラミングRuby読書会• The RSpec Book読書会
作ったもの
リゾームでやってること• 開発基盤整備• Railsフレームワークの拡張• テストフレームワークの整備• デプロイ環境の調整
よくある流れ1. 勉強会に参加2. 新しい技術を発見3. テンション上がる4. ビール飲む5. テンションが上がる6. 翌日新技術が投入される
今日のお話• 開発チームのテストの考え方• Jenkinsで並列テスト• AWS   (おまけ)
Test• 自社メインプロジェクトでのテスト数RSpec           Cucumber   368ファイル          106ファイル   46,079行          18,544行
Testの実行時間• 普通に実行 $ bundle exec rake spec $ bundle exec rake cucumber         分からない...
Testの実行時間• Parallel Tests(4cores 8threads)  Rspec 30分ぐらい  Cucumber 1時間ぐらい• テスト結果が分かりづらい...
開発チームのルール• テストが通らないとリリース用ブラン チにpushされない  Develop     Master
ミッション• お客様に正しく動くものを早く提供する
Testの実行時間• 並列実行 • Jenkins• もっとスピードを! • iMac(Core i7 2.8GHz/4C8T) • MacBookPro(Core i7 2.7GHz/2C4T) • Dell T110 II(Xeon E31...
Jenkins• 継続的インテグレーションツール• ビルド• テスト• デプロイ• バッチ処理
Jenkins• Parallel Testsより細やかな並列制御• あらゆる通知方法• 豊富なPlugin
Jenkins
Jenkins
AWS これから話すことはまだ実用には至ってません
AWSぼくのかんがえたさいきょうのテスト環境
AWSそもそもなぜAWSなのか?
AWS• 必要なスペック• 必要なインスタンス数• すぐさま用意できる
JenkinsでAWS• Amazon EC2 Pluginを使えば?
JenkinsでAWS• Amazon EC2 Pluginは新しいインスタン スを立てることしかできない• Railsは環境構築が大変• 毎回同じEBSを使いまわしたい
JenkinsでAWS1. Amazon EC2 API Tools2. インスタンスidを指定してstopしてるイ  ンスタンスを起動3. APIを使用してpublic DNSを取得4. Slave制御用プログラムをsshで送り込む
気をつけること• 1時間単位の課金• むやみにインスタンスを停止させない• 1時間仕事しなかったら自分自身を停止 させる
問題点• サーバー毎の速度差• 価格に見合ったパフォーマンスか?• テストの種類にマッチしてるか
参考サイト• Jenkins@EC2 による 継続的インテグレーション http://www.slideshare.net/bluepapa32/jenkinsec2
ご清聴ありがとうございました
Upcoming SlideShare
Loading in...5
×

Jenkins + awsで並列テスト

1,852

Published on

第2回 岡山Amazon Web Service勉強会で発表した内容です

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,852
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Jenkins + awsで並列テスト

    1. 1. Jenkins + AWSで 並列テスト 2012.11.23第2回 岡山Amazon Web Service勉強会 山本 和久
    2. 2. 自己紹介• 山本 和久• 岡山Ruby/Ruby on Rails勉強会• @kazuhisa1976• 株式会社リゾーム
    3. 3. 読書会が熱い• @patorashさんが主催• メタプログラミングRuby読書会• The RSpec Book読書会
    4. 4. 作ったもの
    5. 5. リゾームでやってること• 開発基盤整備• Railsフレームワークの拡張• テストフレームワークの整備• デプロイ環境の調整
    6. 6. よくある流れ1. 勉強会に参加2. 新しい技術を発見3. テンション上がる4. ビール飲む5. テンションが上がる6. 翌日新技術が投入される
    7. 7. 今日のお話• 開発チームのテストの考え方• Jenkinsで並列テスト• AWS (おまけ)
    8. 8. Test• 自社メインプロジェクトでのテスト数RSpec Cucumber 368ファイル 106ファイル 46,079行 18,544行
    9. 9. Testの実行時間• 普通に実行 $ bundle exec rake spec $ bundle exec rake cucumber 分からない...
    10. 10. Testの実行時間• Parallel Tests(4cores 8threads) Rspec 30分ぐらい Cucumber 1時間ぐらい• テスト結果が分かりづらい...
    11. 11. 開発チームのルール• テストが通らないとリリース用ブラン チにpushされない Develop Master
    12. 12. ミッション• お客様に正しく動くものを早く提供する
    13. 13. Testの実行時間• 並列実行 • Jenkins• もっとスピードを! • iMac(Core i7 2.8GHz/4C8T) • MacBookPro(Core i7 2.7GHz/2C4T) • Dell T110 II(Xeon E31230 3.2GHz/4C8T)
    14. 14. Jenkins• 継続的インテグレーションツール• ビルド• テスト• デプロイ• バッチ処理
    15. 15. Jenkins• Parallel Testsより細やかな並列制御• あらゆる通知方法• 豊富なPlugin
    16. 16. Jenkins
    17. 17. Jenkins
    18. 18. AWS これから話すことはまだ実用には至ってません
    19. 19. AWSぼくのかんがえたさいきょうのテスト環境
    20. 20. AWSそもそもなぜAWSなのか?
    21. 21. AWS• 必要なスペック• 必要なインスタンス数• すぐさま用意できる
    22. 22. JenkinsでAWS• Amazon EC2 Pluginを使えば?
    23. 23. JenkinsでAWS• Amazon EC2 Pluginは新しいインスタン スを立てることしかできない• Railsは環境構築が大変• 毎回同じEBSを使いまわしたい
    24. 24. JenkinsでAWS1. Amazon EC2 API Tools2. インスタンスidを指定してstopしてるイ ンスタンスを起動3. APIを使用してpublic DNSを取得4. Slave制御用プログラムをsshで送り込む
    25. 25. 気をつけること• 1時間単位の課金• むやみにインスタンスを停止させない• 1時間仕事しなかったら自分自身を停止 させる
    26. 26. 問題点• サーバー毎の速度差• 価格に見合ったパフォーマンスか?• テストの種類にマッチしてるか
    27. 27. 参考サイト• Jenkins@EC2 による 継続的インテグレーション http://www.slideshare.net/bluepapa32/jenkinsec2
    28. 28. ご清聴ありがとうございました
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×