在每次jenkins建置後,去執行單元測試和產生測試報告,還有檢視程式碼是否符合stylecop規則
建置後執行stylecop程式碼分析
請先至管理外掛的部份安裝Violations
接著請在硬碟上建立要執行stylecop規則的xml,特別注意一下AnalysisFileIncludes是要掃描是否符合stylecop的檔案,而AnalysisFileExcludes則是要排除的,請自行去設定,而我建立這個檔案名稱為StyleCopSetting.xml
<?xml version="1.0" encoding="utf-8"?>
<Project Defaulttargets="StyleCop" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- file want to scan -->
<AnalysisFileIncludes>$(MSBuildStartupDirectory)\**\*.cs</AnalysisFileIncludes>
<!-- file dont want to scan -->
<AnalysisFileExcludes>
$(MSBuildStartupDirectory)\**\*Test.cs;
$(MSBuildStartupDirectory)\**\*AssemblyInfo.cs;
$(MSBuildStartupDirectory)\**\*.Designer.cs;
$(MSBuildStartupDirectory)\**\Reference.cs;
$(MSBuildStartupDirectory)\**\Configuration.cs;
</AnalysisFileExcludes>
</PropertyGroup>
<UsingTask AssemblyFile="$(MSBuildExtensionsPath)\..\StyleCop 4.7\StyleCop.dll" TaskName="StyleCopTask"/>
<Target Name="StyleCop">
<!-- Create a collection of files to scan -->
<CreateItem Include="$(AnalysisFileIncludes)" Exclude="$(AnalysisFileExcludes)">
<Output TaskParameter="Include" ItemName="StyleCopFiles" />
</CreateItem>
<!-- Execute stylecop scan -->
<StyleCopTask
ProjectFullPath="$(MSBuildProjectFile)"
SourceFiles="@(StyleCopFiles)"
ForceFullAnalysis="true"
TreatErrorsAsWarnings="true"
OutputFile="$(MSBuildStartupDirectory)\StyleCopReport.xml"
CacheResults="true" />
</Target>
</Project>
接著進到專案的組態裡面新增排程
然後新增一個建置步驟為MsBuild的
然後填上我們剛剛寫的xml位置,需注意在建置的順序會按照你排定的順序執行,我目前是先執行nuget再建置c#專案然後才是執行stylecop,注意一下MSBuild Build File則是你儲存setting file的位置
接著則是新增一個建置後動作
在stylecop的欄位key入我們剛剛的StyleCopSetting.xml的OutputFile的檔名名稱
儲存之後我們來執行建置一下專案,卻會發現好像沒吃到專案的設定,目前我專案執行stylecop是全部通過的
但是在jenkins上面卻是有一堆錯誤的
其實那是因為jenkins吃的stylecop的setting是安裝的位置,所以我們把專案上用到的複製到安裝的位置,以筆者的安裝位置應該是"C:\Program Files (x86)\StyleCop 4.7",接著再執行一次可以看到全部都已符合規則了
執行完stylecop後再執行Ms Test並產生報表分析
先到管理jenkins的外掛程式管理安裝Ms Test相關的plugin
安裝完成後,先去設定MsTest的設定值
以筆者的設定Name為MS TEST 14,Path To MSTest為C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe
設定完成之後則到專案的組態設定裡面,新增建置步驟
Test Files如果不知道路徑,可以到專案的工作目錄查詢
接下來新增建置後動作,以便測試後產生報表提供細節給我們查看。
接著我們再針對此專案執行建置來看看結果
可以點測試結果進去查看