Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

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

14 953 vues

Publié le

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

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

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

Publié dans : Internet
  • Soyez le premier à commenter

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

  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 記載されている会社名、商品名、又はサービス名は、各社の商標又は登録商標です。

×