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

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

on

  • 88 views

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

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

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

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

Statistics

Views

Total Views
88
Views on SlideShare
88
Embed Views
0

Actions

Likes
2
Downloads
0
Comments
0

3 Embeds 0

https://twitter.com 18
http://d.hatena.ne.jp 3
http://blog.hatena.ne.jp 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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