Weitere ähnliche Inhalte
Ähnlich wie Jenkinsstudy#4kokawa (20)
Kürzlich hochgeladen (12)
Jenkinsstudy#4kokawa
- 3. CIしてますか?
• 継続的インテグレーション
– Continuous Integration(統合、統一)
– 常に動く(ビルドが通る)状態を作る
• アジャイル開発ツール三種の神器
– 「SCM、BTS、CI」
• 変更に強い、健全な環境を維持
- 4. Jenkinsさん
• CI(継続的インテグレーション)ツール
• 作業を自動化・共有するための枠組み
• 優秀なWebインターフェース
• 導入が簡単!
• 多くのプラグイン拡張!
- 7. Visual C++編
• Jenkinsと他のツールの組み合わせ方を紹介
– 組み合わせて使ってなんぼ
• 具体的な説明のために環境を特定しました
– 他の環境にも適用できます
– というか他の環境でも使えるものが多いです
– 考え方が同じでやり方だけ違う説明を省略
- 11. Jenkins+α
• +自動ビルド
• +自動テスト
• +UIの自動テスト
• +静的解析、メトリクス分析
• +ドキュメント
• +コラボレーションツール
- 14. 自動ビルド VisualStudio
• MSBuild か devenv
• MSBuild Plugin (オススメ!)
https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin
• MSBuildは.NET Frameworkに入っています
– VisualStudioのインストール不要
– コンパイラは必要なのでWindowsSDK等で対応する
より素直にVisualStudio入れた方が楽でした・・・。
– C:¥WINDOWS¥Microsoft.NET¥Framework¥v○¥MSBuild.exe
- 18. C++のユニットテストツール
• CppUnit, CppTest
– 比較的歴史が長い、最近の更新頻度は低い
– 既にテストコードがあれば○
• GoogleTest
– 充実したテスト機能
• Assert+Expext,ParameterizedTest,DeathTest
• MSTest VisualStudio
– VS2008からProfessional Edition以上で利用可
• 元はTeam Foundation Serverで使えた機能
• データドリブンテスト(csv、XML)が良い感じ!
- 19. 自動テスト
• テスト結果をxmlで出力
– Jenkinsが読み込んでグラフ化してくれる
– 標準対応はJUnit形式(googletest)
• その他のテストツールは
– CppUnit, CppTest, MSTest…
https://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin
- 22. UIの自動テスト
• UI操作自動化ツールをコマンドラインから実行
• AutoIt
– http://www.autoitscript.com/site/autoit/
– Windows専用、ネイティブAPIを直接呼ぶ
• Sikuli
– http://sikuli.org/
– スクリーンショットベースのスクリプト
– Windows, Mac OS X, Linux
- 25. 実装漏れ(ToDo)検知
• Task Scanner Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Task+Scanner+Plugin
• ToDo、Note…
- 26. コーディングルールチェック
• cpplint
• http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py
• Violations Pluginで対応
https://wiki.jenkins-ci.org/display/JENKINS/Violations
- 28. メトリクス分析
• CCCC(C and C++ Code Counter)
https://wiki.jenkins-ci.org/display/JENKINS/CCCC+Plugin
モジュール数
コード行数
複雑度
コメント行数
- 29. メトリクス分析
• Sonar (C, C#)
https://wiki.jenkins-ci.org/display/JENKINS/Sonar+plugin
• Java向けツール
• C,C#はプラグイン対応
• C++はもう一息・・・。
- 34. BTSとの連動
• Redmine,Tracとの連動
• Jenkinsからチケット発行
• コミット→条件判定(Python)→チケット発行
• コードレビュー
Python Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Python+Plugin
ビルド方法にPythonスクリプトを追加
WebAPIへのアクセス