zoukankan      html  css  js  c++  java
  • CruiseControl.NET配置总结

    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重启后就可以看到了

  • 相关阅读:
    event.keycode大全(javascript) (转)
    Javascript 中的 字符串对象 toUpperCase() toString() charAt() indexOf() lastIndexOf() replace() search() substring()
    Javascript 中的 var
    Javascript 中的 Array
    super() (1)
    Javascript 中的事件
    JavaScript验证函数大全 (转)
    javascript数字验证(转)
    Javascript 中 null 与 undefined关系
    Javascript 中的 for ... in
  • 原文地址:https://www.cnblogs.com/kingkoo/p/1081474.html
Copyright © 2011-2022 走看看