Martin Fowler的文章:Continuous Integration 中文翻譯:持續集成html
傳統工具:VisualStudio.Net,VisualSourceSafe,Rational ClearCaseweb
自動編譯工具:NAnt,NAntContribajax
迴歸測試工具:NUnit併發
代碼檢查工具:FxCop工具
持續集成工具:CruiseControl.Netpost
CruiseControl.Net監控遠程版本控制系統的變化測試
變化發生時CruiseControl.Net調用編譯工具進行編譯(NAnt或VisualStudio.Net)網站
編譯成功後調用NUnit進行迴歸測試ui
編譯成功後調用FxCop進行代碼檢查編碼
完畢後將編譯結果、測試結果、代碼檢查結果發送至開發人員、主管經理,併發布至網站
圖示:
全部這一切都是按照編制好的腳本自動進行的
目前咱們使用的是ClearCase
主控軟件爲CruiseControl.Net,其腳本文件爲ccnet.config
配置遠程版本控制系統
- <sourcecontrol type="clearCase"><viewPath>D:/cc_view/USE_TECH_DEPT/Platform/Nucleus/2產品開發/2實現/Nucleus1.0/Source</viewPath><useLabel>false</useLabel></sourcecontrol>
配置編譯工具
- <build type="nant"><executable>F:/software/Agile.Net/nant-0.85-nightly/bin/nant.exe</executable><baseDirectory>F:/software/Agile.Net/nant-0.85-nightly/bin</baseDirectory><buildFile>Y:/nucleus.build</buildFile><logger>NAnt.Core.XmlLogger</logger>- <targetList><target>build</target><target>fxcop</target></targetList></build>
配置測試用例
<publishers>- <xmllogger>- <email from="ajaxchelsea@163.com" mailhost="163.com" includeDetails="TRUE"><projectUrl>http://ajaxchelsea/ccnetweb</projectUrl>- <users><user name="BuildGuru" group="buildmaster" address="ajaxchelsea@163.com" /><user name="chelsea" group="developers" address="chelsea@chelseafc.com" /><user name="ajax" group="developers" address="ajax@ajaxfc.com" /></users>- <groups><group name="developers" notification="always" /><group name="buildmaster" notification="always" /></groups></email></publishers>
- <target name="fxcop" depends="build"><exec program="D:/Program Files/Microsoft FxCop 1.30/fxcopcmd.exe"commandline="/p:Y:/nucleus.fxcop /o:Y:/nucleus.xml" failonerror="false" /></target>