[转]SVN + CruiseControl.NET + NANT 自动编译提交的项目最小DEMO
本文转自: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为安装目录), 一开始其中是空的, 删掉所有内容,然后填入以下内容
- <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文件,大家也可以去股沟一下更具体的配置方法.
- <?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下面再加入以下内容:
- <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更加完善.
posted on 2013-01-22 23:51 freeliver54 阅读(1660) 评论(0) 编辑 收藏 举报