您的位置:首页 > 产品设计 > UI/UE

[转]SVN + CruiseControl.NET + NANT 自动编译提交的项目最小DEMO

2013-01-22 23:51 543 查看
本文转自:http://blog.csdn.net/markgoo/article/details/5739103

第一步,当然是安装这些软件了,

SVN — 我用的是TortoiseSVN , 方便与windows集成. CruiseControl.NET — 最新版本可以从这里获取: 点我 NANT — 构建工具,无需多说, 点我 还需要:IIS.

第二步, 打开C:/Program Files/CruiseControl.NET/server/ccnet.config(C:/Program Files/CruiseControl.NET为安装目录), 一开始其中是空的, 删掉所有内容,然后填入以下内容

[xhtml:nogutter] view plaincopy

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">

<project name="Test1">

<triggers>

<intervalTrigger initialSeconds="0" seconds="1800"/>

</triggers>

<sourcecontrol type="svn">

<trunkUrl>svn://mgytset/MGDataAccess/</trunkUrl>

<workingDirectory>c:/CCNetTest1</workingDirectory>

<executable>C:/Program Files/CollabNet Subversion Server/svn.exe</executable>

<username>XXXXX</username>

<password>XXXXX</password>

</sourcecontrol>

</project>

</cruisecontrol>

其中intervalTrigger 这里配置了多少时间自动触发.这里设置了30分钟自动重新编译. 然后配置版本控制的信息: sourcecontrol : 使用哪种版本控制工具, trunkUrl :该项目的SVN路径, workingDirectory :配置的这个目录将作为CruiseControl.NET的工作目 录,CruiseControl.NET会将代码从SVN中 check out到这个目录中. executable :填入你机器上的SVN的可执行文件路径. username/password : SVN的用户名与密码.

这个时候可以先进入服务,把CruiseControl.NET服务启动了





然后进入IIS中的CCNET(默认名),点查看就可以进入到CruiseControl.NET的页面了.





点击右方Admin 下的Force 按钮来强制重新获取最新版本.过一会就能 看到Status 变成 Successful了.

做到这里.我们已经基本能够看到效果了,但是我们还有一个没有做, 就是现在没有编译, 接下来我们就要让这项目自动编译,然后让CruiseControl.NET来显示编译结果.

首先,我们需要给我们的项目创建一个NANT的build文件.以下是一个很基本的build文件,大家也可以去股沟一下更具体的配置方法.

[xhtml] view plaincopy

<?xml version="1.0"?>

<project name="MGDataAccess" default="build" basedir=".">

<property name="debug" value="true" overwrite="false" />

<target name="clean">

<delete dir="bin" failonerror="false"/>

<delete dir="obj" failonerror="false"/>

</target>

<target name="build" depends="clean">

<csc target="library" output="bin/debug/MGDataAccess.dll" debug="${debug}">

<sources>

<include name="*/*"/>

<exclude name="MGDataAccess.build" />

</sources>

</csc>

</target>

</project>

这里面第一个target是clean,用来删除bin 以及 obj文件夹, 第二个target 是build,加了depends=”clean” 之后执行 build会首先执行clean的工作. exclude 这个是排除哪些文件不让其编译. 保存这个文件为MGDataAccess.build,放到你的项目目录中去.

* 对于NANT的build文件,有一个项目nantcontrib可以自动生成,但是我每次都失败了,各位也 可以去看看nantcontrib

然后再一次打开CruiseControl.NET的配置文件ccnet.config,在project node下面再加入以下内容:

[xhtml] view plaincopy

<tasks>

<nant>

<executable>C:/Program Files/NAnt/bin/nant.exe</executable>

<buildFile>C:/CCNetTest1/MGDataAccess.build</buildFile>

</nant>

</tasks>

executable :NANT的可执行文件路径. buildFile : 之前配置的build文件的路径.

这样之后再去force一下,就是项目编译之后的结果了,可以尝试故意让项目不能编译,然后commit到SVN,这个时候force一下,就会看 到项目的status为failed了



一个最基本的DEMO就完成了, 如果有任何问题请告诉我哦!

之后我还会将NUnit以及simian加入进来,让这个小DEMO更加完善.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐