[[Open棟梁>https://github.com/OpenTouryoProject]] wiki
「[[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サイトを構築の設定情報。
-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#he70bdc6]]
*インストレーション [#h04962aa]

*パラメータ一覧 [#c69c2f0f]
**インストレーション [#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は、サーバーの役割と機能から有効化する。

**プロジェクト設定 [#g4bba91e]
**実行のため [#s438e5e6]
SQL ServerのExpressとNorthWindをインストール。

**ビルド手順 [#e87136ac]
***Githubから取得してビルド [#p9b85e5b]
バッチ・コマンドに以下を設定する。
**テストのため [#g2739b88]
以下の位置に格納されているのでこれを使用できる。

- gitコマンドを使用する場合
https://github.com/OpenTouryoProject/OpenTouryo/tree/01-80/root/programs/C%23/Tests/packages

-[[NUnit>#m3280a64]]~
.NETのテスティング・フレームワーク
-[[OpenCover>#m3280a64]]~
.NETのカバレッジツール
-[[ReportGenerator>#m3280a64]]~
様々な.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:\OTP" mkdir "C:\OTP"
 cd "c:\OTP"
 if not exist "C:\OTR" mkdir "C:\OTR"
 cd "C:\OTR"
 
 git clone "https://github.com/OpenTouryoProject/OpenTouryo.git" "c:\OTP"
 git checkout develop
 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
 rmdir "C:\root" /s /q
 mkdir "C:\root"
 
 xcopy "C:\OTP\root" "C:\root" /e /y /d
 xcopy "C:\Dll" "C:\root\programs\C#\Frameworks\Infrastructure\Public\Dll" /e /y /d
 xcopy "C:\doxygen" "C:\Program Files (x86)\Jenkins\workspace\OpenTouryo\doxygen" /e /y /d
 xcopy "C:\root\programs\C#\Frameworks\Infrastructure" "C:\Program Files (x86)\Jenkins\workspace\OpenTouryo\doxygen\Code\CS" /e /y /d
 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\C#"
 echo|1_DeleteDir.bat
 echo|2_DeleteFile.bat
 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プラグインを使用する場合
 rmdir "C:\root" /s /q
 mkdir "C:\root"
 
 xcopy "C:\Program Files (x86)\Jenkins\workspace\OpenTouryo\root" "C:\root" /e /y /d
 xcopy "C:\Dll" "C:\root\programs\C#\Frameworks\Infrastructure\Public\Dll" /e /y /d
 xcopy "C:\doxygen" "C:\Program Files (x86)\Jenkins\workspace\OpenTouryo\doxygen" /e /y /d
 xcopy "C:\root\programs\C#\Frameworks\Infrastructure" "C:\Program Files (x86)\Jenkins\workspace\OpenTouryo\doxygen\Code\CS" /e /y /d
 
 cd "C:\root\programs\C#"
 echo|1_DeleteDir.bat
 echo|2_DeleteFile.bat
 echo|3_Build_Framework.bat
***Windowsバッチ・コマンドに以下を設定する。 [#lf4d2a30]

***Doxygen [#s35286a5]
#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/tree/01-80/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>#m3280a64]] [#s35286a5]

***[[Doxygen>#m3280a64]] 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

-この状態でコマンド実行可能したが相対パスに問題があった。
-C#_Doxyfile_with_codeの位置にCD(change directory)して正しく実行されることを確認。
-この状態で、JenkinsのDoxygenプラグイン経由で正しく動作することを確認した。
-この状態でコマンド実行可能したが定義ファイルの相対パスに問題があった。
-Doxyfileの位置にCD(change directory)して正しく実行されることを確認。

***FxCop [#y1e9f815]
コード分析結果XMLファイルの出力パスを""で囲っていたら、~
相対パスと認識されたので、""を外すように修正しました。
-しかし、Warningが発生したので、Doxyfile内で使用している相対パスをworkspaceからの相対パスに変更。

***参考 [#of6acc82]
-xcopyでのファイルコピー時に確認メッセージを出さないようにするには?~
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1320504523
-別のバッチファイル内の pause を無効化する。 : もやもやプログラミング~
http://blog.livedoor.jp/moya_pro/archives/36265309.html
**[[FxCop>#m3280a64]] [#y1e9f815]

**ビルド後の処理 [#o45018f8]
***Publish Doxygen [#m59af139]
workspaceからの相対パスに変更。
***[[FxCop>#m3280a64]] Runner Plugin [#qb419f45]
コード分析結果XMLファイルの出力パスを""で囲っていたら、相対パスと認識されたので、""を外すように修正した。~
"C#" ---> "CS"の件もそうですが、FxCop Runner Pluginは、ちょっと品質が低い気がする。

#ref(7.png,left,nowrap,FxCop)

*ビルド後の処理 [#o45018f8]
**[[NUnit>#m3280a64]] [#x01f84ae]
***Publish NUnit test result reports [#s0a9d81d]
NUnit 結果出力を表示

#ref(8.png,left,nowrap,FxCop)

**[[OpenCover>#m3280a64]] [#ce3897fd]
***Publish HTML reports [#c879c37d]
-[[OpenCover>#m3280a64]] 結果出力を表示

*参考 [#yf4bde7e]

**[[構築手順(全容>http://techinfoofmicrosofttech.osscons.jp/index.php?Jenkins%E6%A7%8B%E7%AF%89%E6%89%8B%E9%A0%86]] [#l2357c73]

**[[テスティング・フレームワーク>テスト自動化について#t6de7258]] [#m3280a64]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS