ドリコムJenkins勉強会資料

8,525 views

Published on

ドリコム社内で行ったJenkins勉強会の資料です。

1 Comment
30 Likes
Statistics
Notes
No Downloads
Views
Total views
8,525
On SlideShare
0
From Embeds
0
Number of Embeds
2,724
Actions
Shares
0
Downloads
36
Comments
1
Likes
30
Embeds 0
No embeds

No notes for slide

ドリコムJenkins勉強会資料

  1. 1. ドリコムJenkins勉強会 2013/04/17 @sue445 Copyright Drecom Co., Ltd. All Rights Reserved.
  2. 2. 自己紹介@sue445● drecomで社内ツールとか作ってま す● TDDBC(TDDのワークショップ)でよ くTAをやってます● 自称:サザエヴァンジェリスト● 他称:歩くJenkins● コミュニティ ○ 渋谷.rb ○ 新宿.rb ○ TDD BootCamp ○ appengine ja night Copyright Drecom Co., Ltd. All Rights Reserved.
  3. 3. 【宣伝】あずにゃんペロペロ〜http://azusaar.appspot.com/ Copyright Drecom Co., Ltd. All Rights Reserved.
  4. 4. 2011: Mashup Awards 7 授賞式http://mashupawards.tumblr.com/post/15436635038/12-11-ma7-4-3 Copyright Drecom Co., Ltd. All Rights Reserved.
  5. 5. Note ドリコムでは意識の高い人達がアプリ単 位でJenkinsを乱立させてるので、これは あくまで社内ぼっちPJでの運用例です。 Copyright Drecom Co., Ltd. All Rights Reserved.
  6. 6. Agenda1. What is Jenkins?2. Run Jenkins3. "Ruby on Rails" on Jenkins (Tips and Plugins) Copyright Drecom Co., Ltd. All Rights Reserved.
  7. 7. What is Jenkins?● CI(Continuous Integration = 継続的インテグ レーション)ツールの1つ● gitやsvnのリポジトリにコミットされた時に自動的 にサーバ上でテストを実行して結果をメールや チャットなどで表示する● cronの擬人化● JenkinsはJavaで作られています(重要)http://jenkins-ci.org/ Copyright Drecom Co., Ltd. All Rights Reserved.
  8. 8. イメージ図 Repositorypush pull Result User Jenkins Copyright Drecom Co., Ltd. All Rights Reserved.
  9. 9. Run Jenkins (Simple Pattern)jenkins.warをダウンロードしてjava -jar jenkins.war Copyright Drecom Co., Ltd. All Rights Reserved.
  10. 10. Run Jenkins (Recommendation) Server Instance jenkins.war FrontServer AppServer参考URL: http://sue445.hatenablog.com/entry/2013/01/16/232443 Copyright Drecom Co., Ltd. All Rights Reserved.
  11. 11. Other CI Services● cloudbees (http://www.cloudbees.com/) ○ Jenkinsの中の人が作ってるクラウドサービス ○ Jenkinsのアップデートも勝手にやってくれる ○ 制限はあるけど無料で使える ■ 無料枠だけだとバンドルされてるpluginしか使えない のが痛い● Travis.ci (http://travis-ci.org/) ○ 無料で使える ○ Jenkinsに比べたら自由度は低いけどgithubとの連携は 楽 ■ public repositoryに公開してるならこれ使うのが一番 いいと思う ○ drecomだとactiverecord-turntableや android_market_apiで利用 Copyright Drecom Co., Ltd. All Rights Reserved.
  12. 12. "Ruby on Rails" on Jenkins● 去年出版されたので比較的情 報が新しい● Rails, Android, Perlの章で構 成● Jenkins+Railsの組み合わせ で体系的に書いてあるのはこ の本くらいしかないと思う Copyright Drecom Co., Ltd. All Rights Reserved.
  13. 13. Ruby 1.9と2.0を同時にビルドする 既存のジョブをコピーして rvmで2.0.0を利用 Copyright Drecom Co., Ltd. All Rights Reserved.
  14. 14. 1.9.3のタブ Copyright Drecom Co., Ltd. All Rights Reserved.
  15. 15. 2.0.0のタブ Copyright Drecom Co., Ltd. All Rights Reserved.
  16. 16. メリット/デメリットメリット● 常に1.9系と2.0系でビルドしていればいつでも 2.0に移行できる ○ 白金台のC社には負けてられない!デメリット● 同じジョブをコピーしてるので設定を変えたい時 はその分書きなおす必要がある Copyright Drecom Co., Ltd. All Rights Reserved.
  17. 17. Caution!データベース名を変えずに複数同時にテストするとDBロックで落ちることがあるw対策(やった)● 1つずつビルドを走らせる(アクティブなアプリが少なけばあ り) a. ジョブの同時実行数を1つにする(今の運用) b. 1.9のビルドが成功した後に2.0の方をビルド対策(考えただけで実践はしてない)● rubyのバージョンから動的にデータベース名を作る● 別サーバでSlaveとして動かす Copyright Drecom Co., Ltd. All Rights Reserved.
  18. 18. When. Travis.ciymlに追記するだけでOK Copyright Drecom Co., Ltd. All Rights Reserved.
  19. 19. iPadをXFD化JSONでAPIが提供されてるのでjsでサクッと作れるhttps://github.com/sue445/jenkins_xfd Copyright Drecom Co., Ltd. All Rights Reserved.
  20. 20. Custom Job Icon Plugin ホスティング先によっ てアイコンを使い分 け Copyright Drecom Co., Ltd. All Rights Reserved.
  21. 21. 個人Jenkinsapple-touch-icon.pngを使うとよさげ Copyright Drecom Co., Ltd. All Rights Reserved.
  22. 22. Slow Testのプロット total time worst tophttp://sue445.hatenablog.com/entry/2013/03/17/015836 Copyright Drecom Co., Ltd. All Rights Reserved.
  23. 23. embeddable-build-status pluginREADMEとかにビルドステータスを表示 Copyright Drecom Co., Ltd. All Rights Reserved.
  24. 24. Ruby metrics plugin Copyright Drecom Co., Ltd. All Rights Reserved.
  25. 25. DRY Plugin DRY = Dont Repeat Yourself (重複排除の原則) Copyright Drecom Co., Ltd. All Rights Reserved.
  26. 26. Beer Plugin Copyright Drecom Co., Ltd. All Rights Reserved.
  27. 27. Jenkinsを1から入れた感想● JenkinsはpluginやAPIが豊富なのでいろいろ集計で きて楽しい● アプリを作り始める時からJenkinsでビルドしておくこと でコードの成長を視覚化できる● ローカルでテストを動かすよりサーバでテストを動かし た方が早く終わる● デプロイ前にJenkins先生にチェックしてもらうことで安 心感が生まれる ○ テストがダメなら本番でもダメ!● サーバにJenkinsを立てることでミドル周りの知識がだ いぶついた ○ nginx, tomcat, IP制限, EC2やVPS契約etc Copyright Drecom Co., Ltd. All Rights Reserved.
  28. 28. まとめ● サクッとためしたいならtravis.ciかCouldbees● いろいろやりたくなったら自分でJenkinsを入れてみる Copyright Drecom Co., Ltd. All Rights Reserved.

×