CruiseControl.Net Web仪表板不显示结果

时间:2011-01-07 17:53:59

标签: msbuild nunit cruisecontrol.net nant

在CruiseControl.net网络信息中心显示结果时出现问题。

我已经构建了一个启动项目构建的配置文件。然后它在我的测试中运行nunit,它们执行并完成正常(我可以打开日志并在那里查看结果)。 ccnet日志显示日志文件已成功合并。但是,尽我所能,我无法让它出现在网页仪表板中。它只是令人沮丧:

BUILD FAILED
Project:    GroundControlTests
Date of build:  2011-01-07 17:16:36
Running time:   00:00:58
Integration Request:    mmayo triggered a build (ForceBuild) from PC0098
Projects built with no warnings at all :-)
Modifications since last build (0)

消息,尽管失败了。

我怀疑它与xsl变换有关,但我已经尝试了几乎所有我想到的。

当然,如果我单击View Build log,它会显示,但主报告不显示通过并失败:(

我的配置文件如下,任何建议都赞赏!

--- --- nant.build

<project name="GroundControl" default="cleanNunit" basedir=".">
  <description>Cleanup tasks</description>
  <target name="cleanNunit"
         description="removes nunit log file">
    <delete file="${CCNetArtifactDirectory}\nunit-results.xml"
          failonerror="true" />
  </target>
</project>

----- -------的ccnet.config

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">

    <project name="GroundControlTests">
      <workingDirectory>C:\Source\Wholesale\Code.EventControl.TestingFramework\GroundControlReboot</workingDirectory>
      <artifactDirectory>C:\Source\Wholesale\Code.EventControl.TestingFramework\GroundControlReboot</artifactDirectory>
    <prebuild>
      <nant>
        <executable>C:\Nant\bin\nant.exe
        </executable>
        <baseDirectory>C:\Source\Wholesale\Code.EventControl.TestingFramework\GroundControlReboot</baseDirectory>
        <nologo>false</nologo>
        <buildFile>nant.build</buildFile>
        <targetList>
          <target>cleanNunit</target>
        </targetList>
      </nant>
    </prebuild>

    <tasks>
        <msbuild>
            <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
            </executable>
            <workingDirectory>C:\Source\Wholesale\Code.EventControl.TestingFramework\GroundControlReboot
            </workingDirectory>
        <projectFile>GroundControlReboot.sln</projectFile >
            <buildArgs>/noconsolelogger 
            /v:quiet 
            /noconlog 
            /p:Configuration=Debug
            /p:ReferencePath="C:\Program Files\NUnit 2.5.9\bin;C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0"
            /p:AdditionalReferencePath="C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0"
            </buildArgs>
            <targets>ReBuild</targets >
            <timeout>180</timeout >
<!--            <logger>C:\Program Files\CruiseControl.NET\server\Rodemeyer.MsBuildToCCNet.dll</logger>-->

        </msbuild>
        <exec>
            <executable>C:\Program Files\NUnit 2.5.9\bin\net-2.0\nunit-console.exe
            </executable >
            <buildArgs>/xml:C:\Source\Wholesale\Code.EventControl.TestingFramework\GroundControlReboot\nunit-results.xml
        C:\Source\Wholesale\Code.EventControl.TestingFramework\GroundControlReboot\GroundControlReboot\bin\Debug\GroundControlReboot.dll
      </buildArgs>
      <buildTimeoutSeconds>180</buildTimeoutSeconds>
        </exec>
    </tasks>
    <publishers>
      <merge>
        <files>
          <file>
        C:\Source\Wholesale\Code.EventControl.TestingFramework\GroundControlReboot\*-results.xml
      </file>
        </files>
      </merge>
      <xmllogger />
      <statistics />
      <artifactcleanup cleanUpMethod="KeepLastXBuilds"
        cleanUpValue="20" />
    </publishers>

    </project>
</cruisecontrol>

----- ------- dashboard.config

<?xml version="1.0" encoding="utf-8"?>
<dashboard>
  <remoteServices>
    <servers>
      <server name="local" url="tcp://localhost:21234/CruiseManager.rem" allowForceBuild="true" allowStartStopBuild="true" backwardsCompatible="false" />
    </servers>
  </remoteServices>
  <plugins>
    <farmPlugins>
      <farmReportFarmPlugin />
      <cctrayDownloadPlugin />
      <administrationPlugin password="" />
    </farmPlugins>
    <serverPlugins>
      <serverReportServerPlugin />
    </serverPlugins>
    <projectPlugins>
      <projectReportProjectPlugin />
      <viewProjectStatusPlugin />
      <latestBuildReportProjectPlugin />
      <viewAllBuildsProjectPlugin />
    </projectPlugins>
    <buildPlugins>
      <buildReportBuildPlugin>
        <xslFileNames>
        <xslFile>xsl\header.xsl</xslFile>
        <xslFile>xsl\msbuild2ccnet.xsl</xslFile>
        <xslFile>xsl\modifications.xsl</xslFile>
        <xslFile>xsl\nant.xsl</xslFile>     
        <xslFile>xsl\tests.xsl</xslFile>
        </xslFileNames>
      </buildReportBuildPlugin>
      <buildLogBuildPlugin />
    </buildPlugins>
    <securityPlugins>
      <simpleSecurity />
    </securityPlugins>
  </plugins>
</dashboard>

1 个答案:

答案 0 :(得分:9)

当我从仪表板管理员部署nunit软件包时,它生成了三件事:

在buildReportBuildPlugin下,它添加了xsl \ unittests.xsl。这适用于构建摘要页面。 它还为侧边栏生成了两个项目,以查看nunit详细信息(xsl \ tests.xsl)和nunit时序(xsl \ timings.xsl)。看起来您已经为构建摘要页面定义了nunit详细信息xsl文件,这可能是您看不到任何内容的原因。如果您使用xsl \ unittests.xsl(并重新加载仪表板以便实际读取更新的文件)可能有效。另一个选择是从Web仪表板管理页面部署nunit软件包,它将为您更新dashboard.config文件。

<buildPlugins>
  <buildReportBuildPlugin>
    <xslFileNames>
      <xslFile>xsl\header.xsl</xslFile>
      <xslFile>xsl\modifications.xsl</xslFile>
      <xslFile>xsl\unittests.xsl</xslFile>
    </xslFileNames>
  </buildReportBuildPlugin>
  <buildLogBuildPlugin />
  <xslReportBuildPlugin description="NAnt Output" actionName="NAntOutputBuildReport" xslFileName="xsl\NAnt.xsl"></xslReportBuildPlugin>
  <xslReportBuildPlugin description="NAnt Timings" actionName="NAntTimingsBuildReport" xslFileName="xsl\NAntTiming.xsl"></xslReportBuildPlugin>
  <xslReportBuildPlugin description="NUnit Details" actionName="NUnitDetailsBuildReport" xslFileName="xsl\tests.xsl"></xslReportBuildPlugin>
  <xslReportBuildPlugin description="NUnit Timings" actionName="NUnitTimingsBuildReport" xslFileName="xsl\timing.xsl"></xslReportBuildPlugin>
</buildPlugins>