CruiseControl.Net+SVN+MSBuild自动编译环境

我写技术文章水平不行。
写这个还是头一次,是为了记住自己所做的东西,因为光靠头脑记,负担太大。
老板交代要实现自动编译,虽然我们那个项目小的可怜,无需每天都要编译,但是拿人钱财,要替人做事。
 
所以硬着头皮,开始在google里搜索跟自动编译相关的项目,一开始面对搜索出来的文章,真是无措,这个人推荐这个方法,那个人推荐那个方法,当时时间又紧,没有办法,只好自己写了个批处理文件,执行daily build应付了事。
 
这个星期二有时间了,自己准备研究一下,先决定研究方向是:CruiseControl.Net+SVN+MSBuild
 
在研究的过程中真是觉得困难重重,走了很多弯路,差点放弃,不过因为有空闲时间,再加上放弃太可惜,所以坚持了下来,到了星期五现在这个时候已经全部实现。所以觉得搞软件项目坚持真的很重要,只要坚持一下下就可以实现了。
 
1、环境:
环境很重要,我就吃了这个苦头,一开始照着其他人的方法,就是执行不了,原来是我公司的机器的环境有些问题,没装iis。后来装了iis,iis还是有问题,没有办法,只好用自己的笔记本重新安装了环境。
 
安装顺序:IIS->.NET->others
 
首先安装IIS,用测试页面检测IIS无误后,安装VS2005,然后再安装cruisecontrol.net,从控制面板进入IIS控制界面。检查有无名为ccnet的虚拟目录,如果有正常,右键浏览,应该可以看到cruisecontrol.net的default页面。
 
然后安装CruiseControl.NET Tray【以下简称CCTray】来监视每次提交后的编译状态。
CCTray是一个工具,通过它可以强制执行编译,当然也可以自动编译,然后查看编译的结果。
 
在服务中找到【cruisecontrol.net server】这项,并启动他。
 
注意:如果想用浏览器查看cruisecontrol界面,必须关闭迅雷等占用8080端口的程序。

 

此时要配置CruiseControl.NET安装目录下(我的机器上是:C:/Program Files/CruiseControl.NET/server)下的ccnet.config文件,此文件是指定cruisecontrol.net 怎么运行的,文件中是有关于cruisecontrol.net 的配置。

 

注意:每次改动了ccnet.config文件的话,都要重启【cruisecontrol.net server】服务。

如果ccnet.config文件中有语法错误,【cruisecontrol.net server】服务启动不了。

至于这个语法吗,上网搜索一下吧,我也是摸索出来的

 

我写了一个最简单的:

<cruisecontrol>
 <project name="Painter">
  <triggers>
    <intervalTrigger seconds="10"/>
  </triggers>
  <webURL>http://127.0.0.1/ccnet</webURL>
  <artifactDirectory>f:</artifactDirectory>
  <sourcecontrol type="svn" autoGetSource="true">
   <executable>C:/Program Files/Subversion/bin/svn.exe</executable>
   <username>liuli</username>
   <password>liuli</password>
   <trunkUrl>svn://192.168.1.100/reponsity/</trunkUrl>
   <workingDirectory>d:/tmp/</workingDirectory>
  </sourcecontrol>
 <tasks>
   <msbuild>
     <executable>C:/windows/Microsoft.NET/Framework/v2.0.50727/MSBuild.exe</executable>
     <workingDirectory>D:/tmp/build</workingDirectory>
     <projectFile>Painter.sln</projectFile>
     <buildArgs>/noconsolelogger /p:Configuration=Debug</buildArgs>
    <timeout>15</timeout>
  
   </msbuild>
 </tasks>
 </project>
</cruisecontrol>

 

 

说明:

<sourcecontrol></sourcecontrol>之间写的是从服务器上获得代码的过程。

<triggers> </triggers>是触发器。

这两个加起来的作用是:每个10秒中检测服务器上代码是否有改动,如果有,则更新文件到客户端。

 <tasks>是任务

<msbuild>是要进行编译的任务。

 

 

好了,就这么多,如果有疑问,请留言给我吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值