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