• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Net なプロジェクトでも jenkins を使ってみた
 

Net なプロジェクトでも jenkins を使ってみた

on

  • 9,187 views

 

Statistics

Views

Total Views
9,187
Views on SlideShare
8,176
Embed Views
1,011

Actions

Likes
4
Downloads
25
Comments
0

17 Embeds 1,011

http://ynumerator.blogspot.jp 682
http://yanayblog.blogspot.com 187
http://sns.labs.fujitsu.com 60
http://webcache.googleusercontent.com 24
http://paper.li 17
http://www.feedspot.com 10
http://yanayblog.blogspot.jp 10
http://ynumerator.blogspot.com 4
http://ynumerator.blogspot.kr 3
http://a0.twimg.com 3
http://us-w1.rockmelt.com 3
http://twitter.com 2
https://www.google.co.jp 2
http://spring-aki.com 1
https://twitter.com 1
http://ynumerator.blogspot.com.au 1
http://feeds.feedburner.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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

    Net なプロジェクトでも jenkins を使ってみた Net なプロジェクトでも jenkins を使ってみた Presentation Transcript

    • .NETなプロジェクトでも Jenkins を使ってみた
      第1回大阪Jenkins勉強会
      2011/09/22 お だ
    • 織田 信亮 (おだ しんすけ)
      開発者してます
      SQLWorld代表
      http://d.hatena.ne.jp/odashinsuke/
      @shinsukeoda
    • 注意書き
      2~3年前のお話しです
      当時は Hudson でした
    • 今日お話しする内容
      Jenkins / CI
      体験談
      今 .NET のプロジェクトで使うなら
    • Jenkins って何?
      CI(Continuous Integration)サーバー
      Continuous Integration って何?
      堅苦しい定義は色々あると思いますが…
      短い間隔で
      繰り返し
      ビルドする!
    • CI すると何が嬉しい?
      ビルドの自動化!
      最新ソースを取得するとビルドが通らない
      朝一最新取ったら、エラーになる orz
      リリース準備でも開発端末依存している
      ~さんの端末でビルドしないとダメ!
      ユニットテストがあると…
      テストの自動化/結果レポート
      定期的なテストの実行により、コードが守られる
    • CI すると何が嬉しい?
      ビルドの自動化!
      最新ソースを取得するとビルドが通らない
      朝一最新取ったら、エラーになる orz
      リリース準備でも開発端末依存している
      ~さんの端末でビルドしないとダメ!
      ユニットテストがあると…
      テストの自動化/結果レポート
      定期的なテストの実行により、コードが守られる
    • .NET で CI するには…
      TFS (Team Foundation Server)
      ソース管理、CI、プロジェクト管理、レポート、テスト管理 等 盛り沢山!
      有償 (最新版は大幅値下げも CAL は必要)
      CCNET (CruiseControl.NET)
      http://www.cruisecontrolnet.org/projects/ccnet
      無償で使える OSS の CI
      設定が .xml ベースで大変…(v1.4当時)
    • Jenkins は?
      無償
      すぐ使える
      設定が GUI ベースで使いやすい
      GUI さいこー!
    • 今日お話しする内容
      Jenkins / CI
      体験談
      今 .NET のプロジェクトで使うなら
    • .NET の開発環境
      Visual Studio を中心に色々利用していました
      ユニットテスト/カバレッジ/コード解析…
      でもお高いんでしょ?
    • .NET のお手軽(無償)開発環境の例
      IDE
      Visual Studio (Express Edition)
      ユニットテスト
      NUnit/Moles
      カバレッジ
      PartCover
      コード解析
      FxCop (最近は Windows SDK に同梱)
    • Jenkins サーバーへの事前準備
      必要なコンポーネントのインストール
      .NET Framework
      利用している 3rd コンポーネント
      ライセンスは要確認!
      端末単位なのか開発者単位なのか?
      その他依存しているコンポーネント
      Silverlight SDK とか
      テスト/レポート等に使うコンポーネント
      NUnit/PartCover/FxCop … etc
    • プロジェクトの構成
      ビルド
      MSBuild (Visual Studio)
      ユニットテスト
      NUnit
      カバレッジ
      PartCover
      コード解析
      無し
    • どの プラグイン を使ってた?
      ビルド
      MSBuild Plugin
      テスト
      NUnit Plugin
      カバレッジ
      HTML Publisher Plugin
    • 当時困ったこと (NUnit編)
      プラグインが パラメタライズドテスト に対応していなかった
      レポートに デスクリプション を表示してくれない
      JUnitには無いからかな?
    • 当時困ったこと (PartCover編)
      プラグインが無い!
      結果ファイル(.xml) を自前で HTML に変換し、HTML Publisher Plugin で表示
    • 当時困ったこと (Silverlight のテスト)
      Silverlight 2 の頃です
      TestRunnerが貧弱!
      .html ファイルをブラウザで開くと、テストが動きだし、ブラウザに結果を表示する形式
      PowerShell で IE 立ち上げて、テストが終わるまで待機。その後結果の部分だけ抽出し、別の HTML ファイルに保存
    • Silverlight のテスト.html のイメージ
    • Silverlight のテスト.html のイメージ
    • 今日お話しする内容
      Jenkins / CI
      体験談
      今 .NET のプロジェクトで使うなら
    • NUnitプラグイン
      パラメタライズドテスト に対応している
      リリースノートにそれっぽい事が書いてる
      デスクリプション を表示してくれない
      これは対応していない
    • PartCoverプラグイン
      相変わらず無いです
      結果ファイルを Emma プラグインが 読める形式に変換して、Emma プラグインで表示するのが良いのかも。
      MSTest(Visual Studio 付属) のカバレッジツールもそういう風に対応している
    • Violations プラグイン
      FxCopの結果を表示出来ます
      FxCopは Visual Studio が無くても使えます!
    • Silverlight のテスト
      StatLightという便利な TestRunnerが出てきました
      テスト結果が、.xml で出力されます!
      http://statlight.codeplex.com/
      Jenkins でも動くそうです
      http://nosuchblogger.com/post/146/silverlight-unit-test-applications-and-ci
    • 選ばれし者の場合…
      お高い MSDN 持ってるぜーな方は…
      Jenkins サーバーに VS を突っ込むと色々と楽出来るかも…
      MSTestカバレッジ や FxCopもコマンド要らず
      MSTestプラグイン
      Pex & Moles も使えるんじゃね?
      Emma プラグイン
      MSTestカバレッジ結果を出す
      Violations プラグイン
      FxCopの結果表示
    • 今日お話しする内容
      Jenkins / CI
      体験談
      今 .NET のプロジェクトで使うなら
      おまけ
    • CUI さいこー
      自動化するためには、GUI ベースだと中々難しい
      GUI ベースで設定ファイルが作成出来る かつ CUI で実行出来るツールが便利!
      PartCover、FxCop 、Sandcastle Help File Builder はそういった使い方が出来ます
    • MSBuildファイル(.proj)を別に用意する
      Jenkins で テストやカバレッジ、コード解析のコマンドを叩く設定を書いてると、Jenkins が無いと何も出来なくなる!
      CI サーバーに依存している状態!
      コミットしないと何もわからない!
    • MSBuildファイル(.proj)を別に用意する
      レポート用やリリース用等、別途 MSBuildファイルを作成しておくと便利
      リポジトリから最新取って、タグつけて、ビルド、テスト、納品物の圧縮 等も、MSBuildにまとめて記述出来たりします
    • まとめ
      .NET のプロジェクトでも十分使えます
      TFS を使っている方は無理に乗り換えなくても良いです
      GUI / CUI 両方使えるツールがさいこー
      MSBuildは自動化の第一歩
      CI サーバーが無くても自動化出来ます