概要
- 安裝
- 系統配置
- 項目配置
- 源碼管理
- 建構觸發器
- 建構項目
- 郵件配置
- 內建StyleCop
正文
安裝
網上有教程,略過…
系統配置
配置MSBuild(後續項目建構中需要使用):
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICOxYTM0YTN0EzMxIDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
項目配置
1.建立項目:
2.選擇項目類型:
3.進入項目配置頁面
4.源碼管理
5.項目建構
6.首先使用MSBuild命名将項目編譯後的檔案放到臨時目錄,然後再用batch command将臨時目錄複制到iis指向的目錄。
7.配置觸發器
日程表表達式可以參考說明,0 * * * * (表示每個整點運作項目建構)
8.建構項目
建構資訊:
圖中标示的為本次建構的svn revision
本次建構的所有變更記錄
郵件配置
1.進入系統配置頁面配置郵件發送的SMTP
2.進入項目配置頁面,配置郵件通知:(每次不穩定建構時會郵件通知)
內建StyleCop
1.首先在build機器上安裝StyleCop(4.7)
2.為了避免所有開發機強依賴StyleCop,這裡使用MSBuild.Extension.Pack (4.0.9.0)
3.在項目根目錄下,建立目錄并複制所有的檔案及dll(其中StyleCop.CSharp.dll,StyleCop.CSharp.Rules.dll,StyleCop.dll 是StyleCop安裝目錄下的3個dll;MSBuild.ExtensionPack.StyleCop.dll,MSBuild.ExtensionPack.tasks是MSBuild.Extension.Pack安裝目錄下;CodeQuailty.targets是MsBuild需要識别的target檔案)
4.CodeQuailty.targets
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Measure">
<!--<Import Project="$(MSBuildStartupDirectory)\MSBuild.ExtensionPack.tasks"/>-->
<UsingTask AssemblyFile="$(MSBuildStartupDirectory)\MsBuildCodeQuality\MSBuild.ExtensionPack.StyleCop.dll" TaskName="MSBuild.ExtensionPack.CodeQuality.StyleCop"/>
<PropertyGroup>
<OutDir>$(MSBuildStartupDirectory)</OutDir>
</PropertyGroup>
<Target Name="Measure">
<Message Text="Measure called." />
<CreateItem Include="$(MSBuildStartupDirectory)\Neo.Web\**\*.cs">
<Output TaskParameter="Include" ItemName="StyleCopFiles"/>
</CreateItem>
<MSBuild.ExtensionPack.CodeQuality.StyleCop
TaskAction="Scan"
ShowOutput="true"
ForceFullAnalysis="true"
CacheResults="false"
SourceFiles="@(StyleCopFiles)"
logFile="$(OutDir)\MsBuildCodeQuality\StyleCopLog.txt"
SettingsFile="$(MSBuildStartupDirectory)\Neo.Web\Settings.StyleCop"
ContinueOnError="false">
<Output TaskParameter="Succeeded" PropertyName="AllPassed"/>
<Output TaskParameter="ViolationCount" PropertyName="Violations"/>
<Output TaskParameter="FailedFiles" ItemName="Failures"/>
</MSBuild.ExtensionPack.CodeQuality.StyleCop>
<Message Text="Succeeded: $(AllPassed), Violations: $(Violations)" />
</Target>
</Project>
5.Jenkins中安裝插件Violations(可用于展示StyleCop運作結果)
6.進入項目配置頁面,增加建構步驟,使用MSBuild運作上述的CodeQuailty.targets
7.在項目配置頁面,增加建構後步驟,開啟Report Violations
配置StyleCop運作結果的xml路徑
8.檢視build後StyleCop結果
參考
- http://blog.codeinside.eu/2010/12/15/howto-msbuild-stylecop/
- https://ferritedog.wordpress.com/2011/05/27/1-hour-guide-to-continuous-integration-setup-jenkins-meets-net/
- https://wiki.jenkins-ci.org/display/JENKINS/Violations