Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

レガシーコードを改善した先にあるもの、それは継続的インテグレーション

15,079 views

Published on

レガシーコード改善勉強会で発表した継続的インテグレーションとJenkinsの発表資料です。

2014/9/27(土) 11:50~2014/9/27(土) 18:30

http://passmarket.yahoo.co.jp/event/show/detail/01pitgwzj67m.html

Published in: Internet
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

レガシーコードを改善した先にあるもの、それは継続的インテグレーション

  1. 1. Copyright © 2014 NTT DATA CORPORATION Copyright © 2014 NTT DATA Corporation © Kevin Gill 2012, Earth -Global Elevation Model with Satellite Imagery, http://www.flickr.com/photos/kevinmgill/73A04043550, http://creativecommons.org/licenses/by-sa/2.0/deed.en 2014/9/27 レガシーコード改善勉強会 佐藤聖規 レガシーコードを改善した先にあるもの、 それは継続的インテグレーション
  2. 2. 佐藤聖規 Masanori Satoh @lino_s Copyright © 2014 NTT DATA CORPORATION
  3. 3. Copyright © 2014 NTT DATA CORPORATION Edit!
  4. 4. Copyright © 2014 NTT DATA CORPORATION Pray…
  5. 5. Copyright © 2014 NTT DATA CORPORATION Work!
  6. 6. Copyright © 2014 NTT DATA CORPORATION Oh My God!
  7. 7. Copyright © 2014 NTT DATA CORPORATION レガシーコード がなくなれば
  8. 8. Copyright © 2014 NTT DATA CORPORATION Cover and Modify
  9. 9. Copyright © 2014 NTT DATA CORPORATION みんなHappy!
  10. 10. Copyright © 2014 NTT DATA CORPORATION 次なる道は?
  11. 11. Copyright © 2014 NTT DATA CORPORATION 継続的 インテグレー ション
  12. 12. Copyright © 2014 NTT DATA CORPORATION 略称 CIContinuous Integration
  13. 13. Copyright © 2014 NTT DATA CORPORATION 皆さん、 こんなこと ありませんか
  14. 14. Copyright © 2014 NTT DATA CORPORATION 手作業でミスが多発 別の環境だとビルドできない 結合テストで修正地獄に リリース直前なのに動作しない
  15. 15. Copyright © 2014 NTT DATA CORPORATION そこで 継続的 インテグレーション
  16. 16. Copyright © 2014 NTT DATA CORPORATION 継続的インテグレーションとは 1日に何度もビルドを実行し、ソフトウェアをインテグレーションした時に 発生する様々な問題を早期に発見し、フィードバックサイクルを 短くして、ソフトウェアの品質と生産性を向上させる仕組み コンパイル テスト デプロイ インスペクション ビルド Cover
  17. 17. Copyright © 2014 NTT DATA CORPORATION メリット
  18. 18. Copyright © 2014 NTT DATA CORPORATION 1. 手戻りの削減・品質の維持
  19. 19. Copyright © 2014 NTT DATA CORPORATION まとめてインテグレーション (ビッグバンテスト) Commit Commit Commit Commit Commit Test 変更が 多すぎ て解析 不能 Commit Commit Commit Commit
  20. 20. Copyright © 2014 NTT DATA CORPORATION 継続的インテグレーション Commit Test Commit Test Commit Test Commit Test Commit Test NGだったら すぐ修正 変更の数が少ないので、デグレードや 問題を早期発見・早期修正 フィードバックサイクルを短く! NGだったら すぐ修正
  21. 21. Copyright © 2014 NTT DATA CORPORATION 2. いつでも、だれでも、実行可 能なソフトウェアが作成できる
  22. 22. Copyright © 2014 NTT DATA CORPORATION ユーザには動くソフトウェアを常に提供して、信頼を 開発者からは動かない不安を取り除き、自信を
  23. 23. Copyright © 2014 NTT DATA CORPORATION 3. 機械にできることは機械に 開発者は知的な作業に専念
  24. 24. Copyright © 2014 NTT DATA CORPORATION 4. 機械による 作業の正確さ・綿密さ あいまい性の排除
  25. 25. Copyright © 2014 NTT DATA CORPORATION 5. 開発データを蓄積し レポート、分析することで 継続的カイゼンができる
  26. 26. Copyright © 2014 NTT DATA CORPORATION 継続的 インテグレーション 歴史
  27. 27. Copyright © 2014 NTT DATA CORPORATION 2000年頃eXtreamProgramingのプ ラクティスの1つとして確立された http://www.martinfowler.com/articles/continuousIntegration.html
  28. 28. Copyright © 2014 NTT DATA CORPORATION 継続的 インテグレーション の仕組み
  29. 29. Copyright © 2014 NTT DATA CORPORATION CIサーバ VCS(Git, SVN, etc…) ビルドサーバ テストサーバ etc… レポート 開発者 変更通知命令 収集 フィードバック
  30. 30. Copyright © 2014 NTT DATA CORPORATION 継続的 インテグレーション Jenkinsで http://creativecommons.org/licenses/by-sa/3.0/
  31. 31. Copyright © 2014 NTT DATA CORPORATION 1. インストールが簡単 http://Jenkins-ci.org にアクセス
  32. 32. Copyright © 2014 NTT DATA CORPORATION 1. インストールが簡単 パッケージごとにインストール
  33. 33. Copyright © 2014 NTT DATA CORPORATION 1. インストールが簡単 http://localhost:8080 にアクセス
  34. 34. Copyright © 2014 NTT DATA CORPORATION 1. インストールが簡単 お試しで触ってみたいときは https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins のTest Drive をクリック クリック
  35. 35. Copyright © 2014 NTT DATA CORPORATION 2. ブラウザで直感的操作 設定もブラウザだけでできる 困ったらをクリック
  36. 36. Copyright © 2014 NTT DATA CORPORATION 2. ブラウザで直感的操作 レポートもブラウザで
  37. 37. Copyright © 2014 NTT DATA CORPORATION ワークスペースまでブラウズ
  38. 38. Copyright © 2014 NTT DATA CORPORATION 3. 分散ビルド対応 マスタースレーブ構成で分散ビルド 並列処理でスケールアウトしたり 異なるOSのテストをしたり
  39. 39. Copyright © 2014 NTT DATA CORPORATION 4. プラグインで好みの機能を追加 言語や開発スタイルに合せて カスタマイズ。 公式サイトにホストされてるだけで700+ 好きなモノがなければ自前で作ることも
  40. 40. Copyright © 2014 NTT DATA CORPORATION 5. オープンソース&コミュニティ OSS版とEnterprise版 コミュニティ活動も活発 Jenkins勉強会定期開催 http://build-shokunin.org/ Join us!
  41. 41. Copyright © 2014 NTT DATA CORPORATION 6. いろんな言語で使える コマンドラインでできることは 何でもできる レポートも一工夫で幸せになれる
  42. 42. Copyright © 2014 NTT DATA CORPORATION Jenkins 名前の由来 http://creativecommons.org/licenses/by-sa/3.0/
  43. 43. Copyright © 2014 NTT DATA CORPORATION 執事をイメージした名前です。 以前のHudsonも執事をイメージしたも のです。 プロジェクトに優秀な執事がいるように と想いが込められています。
  44. 44. Copyright © 2014 NTT DATA CORPORATION Jenkins以外の 選択肢
  45. 45. Copyright © 2014 NTT DATA CORPORATION •Team Foundation Server/マイクロソフト –http://www.microsoft.com/ja- jp/dev/products/team-foundation- server.aspx •Bamboo/アトラシアン –https://www.atlassian.com/ja/software/ bamboo •Travis CI –https://travis-ci.org/ •Circle CI –https://circleci.com/
  46. 46. Copyright © 2014 NTT DATA CORPORATION CIで何を やるか
  47. 47. Copyright © 2014 NTT DATA CORPORATION コンパイル コンパイルが通らないものは絶対に動かない コンパイルがない言語だとできない… Ant, Maven, Gradle, make, MS Build
  48. 48. Copyright © 2014 NTT DATA CORPORATION ユニットテスト Junit, TestNG, CUnit, CPPUnit, RSPec, Unittest, pyUnit, QUnit, Jasmine
  49. 49. Copyright © 2014 NTT DATA CORPORATION ワンポイント 結果はJUnit互換のXML に変換するときれいにレ ポートできる プラグインがあるものもある
  50. 50. Copyright © 2014 NTT DATA CORPORATION ユニットテストは 取り入れるのが 難しい
  51. 51. Copyright © 2014 NTT DATA CORPORATION レガシーコードを 改善した皆さんは 怖いものなし
  52. 52. Copyright © 2014 NTT DATA CORPORATION カバレッジ Cobertura, Emma, gcov, rcov, coverage.py, JSCoverage
  53. 53. Copyright © 2014 NTT DATA CORPORATION インスペクション(静的解析) CheckStyle, Findbugs, PMD, CPD, RuboCop, PyLint, Coverity
  54. 54. Copyright © 2014 NTT DATA CORPORATION ワンポイント 結果がHTMLのものは HTML PublisherPluginを使うとシームレス に見れます。
  55. 55. Copyright © 2014 NTT DATA CORPORATION デプロイ/インフラ構築 Rest API, Vagrant, Docker, Puppet, Chef, Fabric, Capistrano, SSH, WSH capistrano
  56. 56. Copyright © 2014 NTT DATA CORPORATION インテグレーションテスト Selenium, Saucelabs, Geb, Appium, GUI自 動テストツールなど capistrano
  57. 57. Copyright © 2014 NTT DATA CORPORATION
  58. 58. Copyright © 2014 NTT DATA CORPORATION CIはプラクティス ツールを入れて終わりで はなく、日々コミットして サイクルを回す習慣を
  59. 59. Copyright © 2014 NTT DATA CORPORATION 皆さんの新しい道を 作ってください
  60. 60. Copyright © 2014 NTT DATA CORPORATION 参考 レガシーコード改善ガイド 翔泳社 2009/7/14 ISBN-10: 4798116831 マイケル・C・フェザーズ(Michael C.Feathers)著 平澤章訳 越智典子訳 稲葉信之訳 田村友彦訳 小堀真義訳 ウルシステムズ株式会社監訳
  61. 61. Copyright © 2014 NTT DATA CORPORATION 参考 継続的インテグレーション入門 日経BP社 2009/8/6 ISBN-10: 482228395X ポール・M・デュバル(Paul M. Duvall) スティーブ・M・マティアス アンドリュー・グローバー著 大塚庸史訳 丸山大輔訳 岡本裕二訳 亀村圭助訳 ウルシステムズ株式会社
  62. 62. Copyright © 2011 NTT DATA Corporation Copyright © 2014 NTT DATA Corporation 記載されている会社名、商品名、又はサービス名は、各社の商標又は登録商標です。

×