实战dailybuildcc.net的配置

实战dailybuild-cc.net的配置

CoolBug的DailyBuild全攻略http://www.cnblogs.com/coolbug/articles/27735.html 拿到手之后,按照给出的方法做来,其实还是要费一些时间的。不过基本问题不大。本文主要内容就cc.net的环境配置作一番说明,趁热打铁,因为我刚刚才配置完成哦。

首先,从sourceforge下载最新的cc.net,nant,nantcontrb.解包并将其中的程序复制到一个单独的文件夹中,我这里是d:\dailybuild,其中放cc.net和nant。并且把nantcontrb的bin中的内容全部复制到nant的bin里面。

其次,建立自己的工作目录,我的dailybuild目录是e:\temp\dailybuild。因为每日构建的内容并不要做其他事情,放到temp目录中就可以了。

第三,按照coolbug的文章配置参数。直到可以构建成功。

第四,创建cc.net的Web服务。cc.net其中有五个部分,分别在cc.net的五个目录中。其中server是cc.net最主要的服务,coolbug文章就指导我们配置的这个,但是server还有另外一个马甲,就是webservice,提供通过IIS提供remoting方式的接口。另外一个是状态报告,在web目录中。剩下两个功能比较类似,都是状态报告和构建控制,cctray是运行在本机的监控程序,webdashboard支持浏览器来报告和控制构建状态。

要成功配置cc.net的其它几个服务,机器上首先要启动IIS,步骤如下:
1。移动ccnet.config的位置。这个文件并不一定要放到cc.net\server下,通过修改ccservice.exe.config中的内容就可以。
   <appSettings>
  <add key="ccnet.config" value="E:\temp\dailybuild\ccnet.config"/>
  <add key="remoting" value="on"/>
 </appSettings>
 这样的目的是把所有的配置都放到一起去,免得要修改的时候忘记了。

2。修改ccnet.config文件中的日志存放位置,最好是自己创建一个新的存放目录,我把这个目录直接创建在server目录下。
   <xmllogger>
    <logDir>D:\dailybuild\cc.net\server\log</logDir>
   </xmllogger>
再设置publisher中的email内容,把每次构建的状态功过email发给我。

3。配置web功能。在web目录上打开internet共享(也可以在IIS管理器中直接来做)。然后修改目录中的配置文件Web.config,修改如下:
 <appSettings>
  <add key="logDir" value="D:\dailybuild\cc.net\server\log" />
  <add key="ServerLogFilePath" value="" />
  <add key="ServerLogFileLines" value="50" />
 </appSettings>
其中logDir就是前一步的logDir位置,ServerLogFilePath可以不用填,因为如果采用VSS做版本管理的话,其中会泄露VSS的登陆用户名和密码,还有代码路径。这样就不太好了。我直接把server log查看的功能禁止掉了,方法很简单,就是把同一个Web.config中的plugin修改成这个样子,然后把对应的ServerLog.aspx改名即可
 <!-- plugin linkText="server log" linkUrl="ServerLog.aspx" / -->
我在配置的时候,IIS报告说compile.xsl有问题。结果把web/xsl/compile.xsl中的内容作如下的修改就可以了
    <xsl:template match="message[((contains(text(), ' error') and not (contains(text(), '0 error')))) or ((contains(text(), ' warning') and not (contains(text(), '0 warning'))))]">
        <pre class="compile-error-data"><xsl:value-of select="text()"/></pre>
    </xsl:template>

4。配置webdashboard功能。直接在webdashboard目录上打开internet共享。其他不用配置,如果你决定把cc.net的功能分散的话,可以看一下Web.config中的projectURLs配置项。

5。配置webservice。我没有配置它,也没有共享。如果有人要用的话,参考msdn中的remoting服务配置方法就可以了。

另外,我尝试了一下把cc.net的windows服务功能,但是没有安装起来,安装过程中会出现NullReferenceException。它的网站上说好像是这个功能还不稳定。我的尝试过程如下:打开程序组中Visual Studio.net 2003附带的工具“Visual Studio .NET 2003 命令提示”,在其中切换到cc.net\server目录,运行installutil ccservice.exe,提示启动服务所需的用户帐号,我输入超级用户,然后出现异常,失败!

因为我不喜欢一直放一个黑窗口在界面上,所以我在控制面板的计划任务中创建了一个计划,定时每天下午5点运行cc.net\server\startCCNet.bat,然后设置运行超过30分钟则退出。

关于nant的配置问题网上已经很多了,上手也很快,这里就不说了。不过要注意nant现在可以直接用solution命令编译.sln了,非常好!
用nant的时候会有一个问题,就是.net framework版本的问题,大家在nant.exe.config修改一下配置,结果如下:
    <platform name="win32" default="net-1.1"> <!-- default="auto" -->
否则如果你装了.net2.0,solution会调用.net2.0来编译你的程序。

另外,使用msbuild的同学可以看一下这个文章,学习如何用msbuild和cc.net结合
http://blogs.msdn.com/mswanson/archive/2004/10/05/238423.aspx

原文地址:https://www.cnblogs.com/BigTall/p/68126.html