(ZT)CruiseControl.NET配置总结

本文转自:http://www.cnblogs.com/kingkoo/archive/2008/02/26/1081474.html

     CruiseControl做的确实不错, 大部分功能只要配置一下两个配置文件就可以了, 一个是 ccnet.config ,一个是dashboard.config,如果要设置服务器发送构建邮件的话,还要用到一个文件ccnet.exe.config,这里我都是缺省用ccnet.exe启动的服务器,所以服务器配置要用那个ccnet.exe.config配置.               

NUnit配置段

CruiseControl.net与nunit集成有几个要点:

在ccnet.config的task任务中添加以下任务      

 <nunit path="C:/Program Files/NUnit 2.4.3/bin/nunit-console.exe"  >  

     <assemblies>  

         <assembly>C:/workspace/test1/DotNet/Tests/bin/Debug/Tests.dll</assembly>        

    </assemblies>      

</nunit>  

 msbuild配置段

我在task的构建用的是msbuild,如果工程很简单的话可以直接用vs自带的构建方法,如下     

<devenv>        

    <solutionfile>C:/workspace/test1/DotNet/Exist.sln</solutionfile>        

    <configuration>Debug</configuration>        

    <buildtype>Build</buildtype>        

    <executable>C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/devenv.com</executable>      

</devenv> 

而总得msbuild应该是像以下的样子:  

<msbuild>

        <executable>C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/MSBuild.exe</executable>

        <workingDirectory>C:/workspace/test1/DotNet</workingDirectory>

        <projectFile>Projectsln</projectFile>

        <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>

        <targets ></targets>

        <timeout>15</timeout>

        <logger>C:/Program Files/CruiseControl.NET/server/ThoughtWorks.CruiseControl.MSBuild.dll</logger>

</msbuild>

 这样msbuild就会编译整个solution.       

NCover集成

需要集成NCover,需要先在要集成的工程文件如test.csproj文件上加一个头,让build任务能调用NCover,   

<UsingTask TaskName="NCoverExplorer.MSBuildTasks.NCoverExplorer"

  AssemblyFile="C:/Program Files/NCover/Build Task Plugins/NCoverExplorer.MSBuildTasks.dll"/>

<UsingTask TaskName="NCoverExplorer.MSBuildTasks.NCover"

  AssemblyFile="C:/Program Files/NCover/Build Task Plugins/NCoverExplorer.MSBuildTasks.dll"/>

<UsingTask TaskName="NCoverExplorer.MSBuildTasks.NUnitProject"

  AssemblyFile="C:/Program Files/NCover/Build Task Plugins/NCoverExplorer.MSBuildTasks.dll"/>

然后在此工程文件中加入NCover的msbuild的task:

<Target Name="Coverage">

      <NCover ToolPath="C:/Program Files/NCover"

     WorkingDirectory="$(MSBuildProjectDirectory)/bin/Debug"

    CommandLineExe="nunit-console.exe"

    CommandLineArgs="Tests.dll"

    LogFile="Coverage.log"

    CoverageFile="Coverage.xml"

    ContinueOnError="true"

  />

  </Target>

    <ItemGroup>

        <MySourceFiles Include="CoverageReport.xsl"/>

    </ItemGroup>  

 <Target Name="CreateReport">

     <NCoverExplorer

    ToolPath="C:/Program Files/NCover" 

    ProjectName="$(MSBuildProjectDirectory)/bin/debug"

    OutputDir="$(MSBuildProjectDirectory)"

    ReportType="ModuleClassSummary"

    XmlReportName="CoverageSummary.xml"

    CoverageFiles="Coverage.xml" />

    <Copy

            SourceFiles="@(MySourceFiles)"

            DestinationFolder="C:/Program Files/CruiseControl.NET/server/xsl"

    />

</Target>

 NCover会先生成一个Coverage.xml的报告文件,然后会根据这个文件生成CoverageSummary.xml,并且会有一个套用格式的CoverageReport.xsl. 生成了报告后,需要在ccnet.config中的publishers中的merge任务将报表merge到CruiseControl的log文件中:    

<merge>

        <files>

            <file>C:/workspace/test1/DotNet/Tests/CoverageSummary.xml</file>

         </files>  

</merge>

 并且想要在webdashborad中显示这个coverage的报告的时候,需要在dashborad.config中加入build出来的xsl文件:  

<buildReportBuildPlugin>

    <xslFileNames>  <xslFile>xsl/CoverageReport.xsl</xslFile> </xslFileNames></buildReportBuildPlugin>

 然后还需要加入这段: 

<xslReportBuildPlugin description="CoverageReport" actionName="NCoverBuildReport" xslFileName="xsl/CoverageReport.xsl" />

 

还有一点 :    

<buildReportBuildPlugin>

    <xslFileNames>

     <xslFile>xsl/header.xsl</xslFile>

     <xslFile>xsl/modifications.xsl</xslFile>

     <xslFile>xsl/compile.xsl</xslFile>

     <xslFile>xsl/compile-msbuild.xsl</xslFile>

     <xslFile>xsl/MsTestSummary.xsl</xslFile>

     <xslFile>xsl/unittests.xsl</xslFile>

     <xslFile>xsl/tests.xsl</xslFile>

     <xslFile>xsl/CoverageReport.xsl</xslFile>

     <xslFile>xsl/SimianSummary.xsl</xslFile>

     <xslFile>xsl/fitnesse.xsl</xslFile>

    </xslFileNames>

 </buildReportBuildPlugin>
 

上面的就是在webdashboard中左边导航菜单的内容,可以根据需要进行配置,配置好后IIS要重启,不然看不到最新的配置内容,在dos窗口下用命令iisreset重启后就可以看到了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值