「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>テスト自動化について]] *目次 [#efe99b12] #contents *概要 [#h6c9bdfa] Open棟梁のJenkins CI Webサイトを構築の設定情報。 *構築手順 [#l2357c73] 以下を参考にできる。 -[[Jenkins構築手順 - マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/index.php?Jenkins%E6%A7%8B%E7%AF%89%E6%89%8B%E9%A0%86]] *インストレーション [#h04962aa] **ビルドのため [#y671b06c] VS2010+.NET3.5をビルドするため、以下のインストールが必要。 -Download Microsoft Windows SDK for Windows 7 and .NET Framework 4 from Official Microsoft Download Center~ https://www.microsoft.com/en-us/download/details.aspx?id=8279 .NET3.5は、サーバーの役割と機能から有効化する。 **実行のため [#s438e5e6] SQL ServerのExpressとNorthWindをインストール。 **テストのため [#g2739b88] 以下の位置に格納されているのでこれを使用できる。 https://github.com/OpenTouryoProject/OpenTouryo/tree/develop/root/programs/C%23/Tests/packages -[[NUnit]]~ .NETのテスティング・フレームワーク -OpenCover~ .NETのカバレッジツール -ReportGenerator~ 様々な.NETカバレッジツールが出力するXML出力を可視化する。 **デバッグのため [#x2768d67] 結局、VS 2010 Proをインストール。 *プロジェクト設定 [#g4bba91e] #ref(1.png,left,nowrap,プロジェクト設定) *ビルド手順 [#e87136ac] 後々、"C#"というフォルダ名がパス中に存在する場合、~ FxCop? Runner Pluginでエラーとなることが分かったのでパス名をリネームしました。 &color(red){なので、以降のイメージ中の"C#"は、全て"CS"に読み替えてください。}; **Githubから取得してビルド [#p9b85e5b] ***gitプラグインを使用する場合 [#h668211b] rmdir "C:\root" /s /q mkdir "C:\root" xcopy "C:\OTR\root" "C:\root" /e /y /I ren "C:\root\programs\C#" "CS" xcopy "C:\Dll" "C:\root\programs\CS\Frameworks\Infrastructure\Public\Dll" /e /y /I cd "C:\root\programs\CS" rem Toolが消えるのでcomment out rem echo|1_DeleteDir.bat rem echo|2_DeleteFile.bat echo|3_Build_Framework.bat ***gitコマンドを使用する場合 [#db5d6c4e] (gitプラグインが微妙なのでこちらにする) CloneAndBuild.bat set PATH=%PATH%;"C:\Program Files\Git\bin\" if not exist "C:\OTR" mkdir "C:\OTR" cd "C:\OTR" git clone "https://github.com/OpenTouryoProject/OpenTouryo.git" "C:\OTR" rem git checkout develop git checkout fix_test_projects git pull rmdir "C:\root" /s /q mkdir "C:\root" xcopy "C:\OTR\root" "C:\root" /e /y /I ren "C:\root\programs\C#" "CS" xcopy "C:\Dll" "C:\root\programs\CS\Frameworks\Infrastructure\Public\Dll" /e /y /I cd "C:\root\programs\CS" rem Toolが消えるのでcomment out rem echo|1_DeleteDir.bat rem echo|2_DeleteFile.bat echo|3_Build_Framework.bat ***Windowsバッチ・コマンドに以下を設定する。 [#lf4d2a30] #ref(2.png,left,nowrap,Githubから取得してビルド) ***参考 [#of6acc82] -xcopyでのファイルコピー時に確認メッセージを出さないようにするには?~ http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1320504523 -別のバッチファイル内の pause を無効化する。 : もやもやプログラミング~ http://blog.livedoor.jp/moya_pro/archives/36265309.html **テストコードのビルドとテストの実行 [#l2a2615d] ***テストコードのビルド [#n16d24bb] #ref(3.png,left,nowrap,ビルド) ***テストの実行 [#ha474028] https://github.com/OpenTouryoProject/OpenTouryo/blob/fix_test_projects/root/programs/C%23/Tests/Public.Test/bat/runopencover.bat #ref(4.png,left,nowrap,テスト) **ドキュメント生成の準備 [#sffe761b] プラグインの制約で入出力ファイル位置をworkspaceフォルダ以下に変更。 #ref(5.png,left,nowrap,ドキュメント生成の準備) ***テストのレポート表示のプラグイン [#w92dec5f] -対象プラグイン --Publish NUnit test result reports プラグイン --Publish HTML reports プラグイン -Windows batch command xcopy "C:\root\programs\CS\Tests\Public.Test\bat" "C:\Program Files (x86)\Jenkins\workspace\OpenTouryo\Tests\Public.Test" /e /y /I ***Publish Doxygen Plugin [#m59af139] -対象プラグイン --Publish Doxygen Plugin -Windows batch command xcopy "C:\root\programs\CS\Tests\Doxygen" "C:\Program Files (x86)\Jenkins\workspace\OpenTouryo\Doxygen" /e /y /I xcopy "C:\root\programs\CS\Frameworks\Infrastructure" "C:\Program Files (x86)\Jenkins\workspace\OpenTouryo\Doxygen\code" /e /y /I **Doxygen [#s35286a5] ***Doxygen Plugin [#df83a911] 以下の設定・確認の後、JenkinsのDoxygenプラグイン経由で正しく動作することを確認。 #ref(6.png,left,nowrap,Doxygen) -Doxygenプラグインの設定ファイルには下記を使用。 >Doxygen - マイクロソフト系技術情報 Wiki~ http://techinfoofmicrosofttech.osscons.jp/index.php?Doxygen -しかし以下のエラーが発生したので、 error: Problems running dot: exit code=-1, command='dot', arguments='"C:/Program Files (x86)/Jenkins/workspace/out/html/graph_legend.dot" -Tpng -o "C:/Program Files (x86)/Jenkins/workspace/out/html/graph_legend.png"' -コマンドから実行した。 "C:\Program Files\doxygen\bin\doxygen.exe" "C:\doxygen\work\C#_Doxyfile_with_code" -解決しなかったので、設定ファイルにDOT_PATHを設定した。 --http://doxygen.10944.n7.nabble.com/Dot-is-failing-on-graph-legend-png-td1730.html --http://hwada.hatenablog.com/entry/20060426/1146010846 -この状態でコマンド実行可能したが定義ファイルの相対パスに問題があった。 -Doxyfileの位置にCD(change directory)して正しく実行されることを確認。 -しかし、Warningが発生したので、Doxyfile内で使用している相対パスをworkspaceからの相対パスに変更。 **FxCop [#y1e9f815] ***FxCop Runner Plugin [#qb419f45] コード分析結果XMLファイルの出力パスを""で囲っていたら、相対パスと認識されたので、""を外すように修正した。~ "C#" ---> "CS"の件もそうですが、FxCop Runner Pluginは、ちょっと品質が低い気がする。 #ref(7.png,left,nowrap,FxCop) *ビルド後の処理 [#o45018f8] **NUnit [#x01f84ae] ***Publish NUnit test result reports [#s0a9d81d] NUnit 結果出力を表示 #ref(8.png,left,nowrap,FxCop) **OpenCover [#ce3897fd] ***Publish HTML reports [#c879c37d] -OpenCover 結果出力を表示