0
- Jenkinsを利用したCI !

Ryoichi Obara
Jenkinsとは
• 昔で言うとHudson
• いわゆるCIツールです。
C

?
て
Iっ
Continuous Integration
(継続的インテグレーション)

• ビルド・デプロイの自動化
• 定期的な自動テスト実行
• メトリクスの自動取得
弊社案件での事例
!

CakePHP + Jenkins
Before
• SVNコミット後、それとは別に

開発者ローカルのモジュールを

手動でftpアップロード



時間がかかるし、

ミス/デグレが発生するリスクあり
絶妙なバランスの上で成立
After
• ボタン1つでテスト環境にデプロイ
• テスト環境にてテスト後、

再度ボタン1つで本番環境にデプロイ



(テスト・本番環境の設定違いも

それぞれのリソースを用意して対応)
徐々に人手を排除
1. コミット
2. フック通知
3. ソース取得
4. テスト環境デプロイ

5. ユニットテスト
6.コード解析
みんな使おう!
メリット
✴ Webサービス推進チームへ技術QA可
✴ デプロイの手間やミスが省ける
✴ テストは常に自動的に実行される
✴ 開発スピード・品質の両方が向上
豊富なプラグイン
推奨する5種
• Checkstyle : コーディング規約
• Findbugs/PMD : イージーバグ
• DRY : CPD(コピペ)
• Cobertura : コード網羅率
• SLOCCount : コード行数
Maven
JavaならMavenも
• 構成管理ツール

プロジェクトの環境設定を管理

モジュールの依存関係を解決

ビルドしてJUnit実行

• Jenkinsジョブからの呼び出しが楽
使いたい人は
• 社内で情報共有してます
• Jenkinsの設定例
• Maven導入方法・設定例 (随時更新)

ちゃんとしたまとめ
• Jenkinsで自動化

デプロイ・コード解析・テスト

• Jenkins + Maven でビルドも可

モジュール依存関係も楽に。
質疑応答
Jenkinsを利用したCI、弊社導入事例
Upcoming SlideShare
Loading in...5
×

Jenkinsを利用したCI、弊社導入事例

832

Published on

Jenkinsを利用したCIの弊社導入事例発表資料です。
社内プロジェクト情報関連部分については一部マスキングしています。

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

  • Be the first to like this

No Downloads
Views
Total Views
832
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Jenkinsを利用したCI、弊社導入事例"

  1. 1. - Jenkinsを利用したCI ! Ryoichi Obara
  2. 2. Jenkinsとは • 昔で言うとHudson • いわゆるCIツールです。
  3. 3. C ? て Iっ
  4. 4. Continuous Integration (継続的インテグレーション) • ビルド・デプロイの自動化 • 定期的な自動テスト実行 • メトリクスの自動取得
  5. 5. 弊社案件での事例 ! CakePHP + Jenkins
  6. 6. Before • SVNコミット後、それとは別に
 開発者ローカルのモジュールを
 手動でftpアップロード
 
 時間がかかるし、
 ミス/デグレが発生するリスクあり
  7. 7. 絶妙なバランスの上で成立
  8. 8. After • ボタン1つでテスト環境にデプロイ • テスト環境にてテスト後、
 再度ボタン1つで本番環境にデプロイ
 
 (テスト・本番環境の設定違いも
 それぞれのリソースを用意して対応)
  9. 9. 徐々に人手を排除
  10. 10. 1. コミット 2. フック通知 3. ソース取得 4. テスト環境デプロイ 5. ユニットテスト 6.コード解析
  11. 11. みんな使おう!
  12. 12. メリット ✴ Webサービス推進チームへ技術QA可 ✴ デプロイの手間やミスが省ける ✴ テストは常に自動的に実行される ✴ 開発スピード・品質の両方が向上
  13. 13. 豊富なプラグイン
  14. 14. 推奨する5種 • Checkstyle : コーディング規約 • Findbugs/PMD : イージーバグ • DRY : CPD(コピペ) • Cobertura : コード網羅率 • SLOCCount : コード行数
  15. 15. Maven
  16. 16. JavaならMavenも • 構成管理ツール
 プロジェクトの環境設定を管理
 モジュールの依存関係を解決
 ビルドしてJUnit実行 • Jenkinsジョブからの呼び出しが楽
  17. 17. 使いたい人は • 社内で情報共有してます • Jenkinsの設定例 • Maven導入方法・設定例 (随時更新)

  18. 18. ちゃんとしたまとめ • Jenkinsで自動化
 デプロイ・コード解析・テスト • Jenkins + Maven でビルドも可
 モジュール依存関係も楽に。
  19. 19. 質疑応答
  1. A particular slide catching your eye?

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

×