国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

持續集成 .Net手冊

2024-07-10 13:12:18
字體:
來源:轉載
供稿:網友

持續集成 .net手冊
一、概念
martin fowler的文章:continuous integration 中文翻譯:持續集成

二、工具
傳統工具:visualstudio.net,visualsourcesafe,rational clearcase

自動編譯工具:nant,nantcontrib

回歸測試工具:nunit

代碼檢查工具:fxcop

持續集成工具:cruisecontrol.net

三、步驟
cruisecontrol.net監控遠程版本控制系統的變化

變化發生時cruisecontrol.net調用編譯工具進行編譯(nant或visualstudio.net)

編譯成功后調用nunit進行回歸測試

編譯成功后調用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>
配置測試用例

- <tasks>
- <nunit>
<path>d:/program files/nunit 2.2/bin/nunit-console.exe</path>
- <assemblies>
<assembly>y:/newpdobject/testnewpdobject/bin/debug/testnewpdobject.exe</assembly>
</assemblies>
</nunit>
</tasks>
配置報告形式
<publishers>
- <xmllogger>
<logdir>../web/log</logdir>
- <mergefiles>
<file>y:/nucleus.xml</file>
</mergefiles>
</xmllogger>
- <email from="[email protected]" mailhost="163.com" includedetails="true">
<projecturl>http://ajaxchelsea/ccnetweb</projecturl>
- <users>
<user name="buildguru" group="buildmaster" address="[email protected]" />
<user name="chelsea" group="developers" address="[email protected]" />
<user name="ajax" group="developers" address="[email protected]" />
</users>
- <groups>
<group name="developers" notification="always" />
<group name="buildmaster" notification="always" />
</groups>
</email>
</publishers>
其中cruisecontrol.net沒有提供代碼檢查工具fxcop的支持,其文檔建議使用nant的<exec>任務來調用fxcop,直到出現<fxcop>的task,因此,需要配置nant的腳本文件:
- <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>
五、幾點提示
cruisecontrol.net會自動根據本地clearcase的view監控遠程vob
其實除了監控遠程版本控制系統外其它的任務都可以由nant來完成,ccnet只負責監控變化并調用nant即可
可以直接為ccnet配置visualstudio.net解決方案"<build type="devenv" solutionfile="d:/dev/myproject/myproject.sln" configuration="debug" /> ",但這樣就無法配置fxcop了,至少目前如此;
最好避免中文路徑,否則就需要手工為幾個xml格式的文件,如.csproj等加入編碼方式“<?xml version="1.0" encoding="utf-8" ?> ”,或者將中文路徑映射為虛擬硬盤:“subst y: "d:/cc_view/use_tech_dept/platform/nucleus/2產品開發/2實現/nucleus1.0/source"”
nunit有visualstudio.net插件nunitaddin,fxcop等亦可以配置為visualstudio外部工具,推薦使用
各種工具的安裝、使用,在各自的文檔里都非常詳細,網上亦有無數資源
六、參考資料
dailybuild全攻略
draco.net

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孝感市| 阜新| 永川市| 和龙市| 海林市| 龙海市| 织金县| 甘洛县| 漳州市| 乌拉特前旗| 闽侯县| 科技| 怀集县| 衡水市| 安丘市| 鄢陵县| 十堰市| 临沂市| 探索| 陵川县| 石楼县| 罗江县| 额敏县| 平阴县| 灵台县| 汪清县| 屯留县| 灵寿县| 晋中市| 顺义区| 新乐市| 黄陵县| 水城县| 重庆市| 绿春县| 虎林市| 德州市| 嘉定区| 汤阴县| 汤阴县| 双鸭山市|