「[[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サイトを構築の設定情報。
-(今や昔の当時のメモです)

*インストレーション [#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/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:\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/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 Plugin [#df83a911]
***[[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

-この状態でコマンド実行可能したが定義ファイルの相対パスに問題があった。
-Doxyfileの位置にCD(change directory)して正しく実行されることを確認。

-しかし、Warningが発生したので、Doxyfile内で使用している相対パスをworkspaceからの相対パスに変更。

**[[FxCop>#m3280a64]] [#y1e9f815]

***[[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]

IP:210.234.63.131 TIME:"2021-02-17 (水) 10:10:21" REFERER:"https://opentouryo.osscons.jp/index.php?cmd=edit&page=Jenkins%E6%A7%8B%E7%AF%89" USER_AGENT:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS