简体   繁体   English

CruiseControl和NANT构建

[英]CruiseControl and NANT build

I'm testing a very simple script to try and run my ant build file from CruiseControl.NET. 我正在测试一个非常简单的脚本,以尝试从CruiseControl.NET运行我的蚂蚁构建文件。 I followed the steps I found on the net of how to do this but i keep getting nAnt task failed in CruiseControl without any explanation and yet when i run the NAnt build script separately, it runs fine. 我遵循了在网上找到的有关如何执行此操作的步骤,但是在CruiseControl中我一直使nAnt任务失败,没有任何解释,但是当我单独运行NAnt构建脚本时,它运行良好。

Can anybody take a look at my build script, the Ccnet.config file and the output in the log and point me in the right direction? 有人可以看看我的构建脚本,Ccnet.config文件和日志中的输出,并向我指出正确的方向吗?

My XmLib.build NAnt file 我的XmLib.build NAnt文件

<?xml version="1.0"?>
<project default="start">
    <property name="code.directory" value="C:\SHS" />
    <property name="server.code.directory" value="${code.directory}\XmLib" />
    <property name="server.code.project" value="${server.code.directory}\XmLib.sln" />

     <target name="start">
          <echo message="Building XmLib Component " />
     </target>
</project>

My output when I ran my build file using Nant.exe via command line. 通过命令行使用Nant.exe运行构建文件时的输出。

Buildfile: file:///C:/SHS/Build Scripts/XmLib.build
Target framework: Microsoft .NET Framework 4.0
Target(s) specified: start 


 start:

 [echo] Building XmLib Component 

 BUILD SUCCEEDED

 Total time: 0.4 seconds.

My CruiseControl.NET config file 我的CruiseControl.NET配置文件

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project name="XmLib">
  <tasks>
    <nant>
      <executable>C:\Program Files (x86)\NAnt\bin\nant.exe</executable>
      <baseDirectory>C:\SHS\Build Scripts</baseDirectory>
      <buildFile>XmLib.build</buildFile>
      <logger>NAnt.Core.XmlLogger</logger>
      <targetList>
        <target>start</target>
      </targetList>
      <buildTimeoutSeconds>80</buildTimeoutSeconds>
    </nant>
  </tasks>
  <publishers>
      <xmllogger logDir="C:\tmp" />
  </publishers>
</project>
</cruisecontrol>

The error I get when I try to run this via CruiseControl.NET using its dashboard. 当我尝试使用其仪表板通过CruiseControl.NET运行此错误。

  <cruisecontrol project="XmLib">
  <request source="BUILDHPSMV" buildCondition="ForceBuild">Administrator triggered a build        (ForceBuild) from BUILDHPSMV</request>
  <parameters>
  <parameter name="$CCNetArtifactDirectory" value="C:\Program Files (x86)\CruiseControl.NET\server\XmLib\Artifacts" />
  <parameter name="$CCNetBuildCondition" value="ForceBuild" />
  <parameter name="$CCNetBuildDate" value="2013-01-16" />
  <parameter name="$CCNetBuildId" value="a7fb196a3193468e8d8505f7db7641d5" />
  <parameter name="$CCNetBuildTime" value="17:06:44" />
  <parameter name="$CCNetFailureTasks" value="System.Collections.ArrayList" />
  <parameter name="$CCNetFailureUsers" value="System.Collections.ArrayList" />
  <parameter name="$CCNetIntegrationStatus" value="Unknown" />
  <parameter name="$CCNetLabel" value="1" />
  <parameter name="$CCNetLastIntegrationStatus" value="Failure" />
  <parameter name="$CCNetListenerFile" value="C:\Program Files(x86)\CruiseControl.NET\server\XmLib\Artifacts\XmLib_ListenFile.xml" />
  <parameter name="$CCNetModifyingUsers" value="System.Collections.ArrayList" />
  <parameter name="$CCNetNumericLabel" value="1" />
  <parameter name="$CCNetProject" value="XmLib" />
  <parameter name="$CCNetProjectUrl" value="http://BUILDHPSMV/ccnet" />
  <parameter name="$CCNetRequestSource" value="BUILDHPSMV" />
  <parameter name="$CCNetUser" value="Administrator" />
  <parameter name="$CCNetWorkingDirectory" value="C:\Program Files(x86)\CruiseControl.NET\server\XmLib\WorkingDirectory" />
  </parameters>
  <modifications />
  <integrationProperties>
  <CCNetArtifactDirectory>C:\Program Files(x86)\CruiseControl.NET\server\XmLib\Artifacts</CCNetArtifactDirectory>
  <CCNetBuildCondition>ForceBuild</CCNetBuildCondition>
  <CCNetBuildDate>2013-01-16</CCNetBuildDate>
  <CCNetBuildTime>17:06:44</CCNetBuildTime>
  <CCNetFailureUsers />
  <CCNetFailureTasks>
    <task>NAntTask</task>
  </CCNetFailureTasks>
  <CCNetIntegrationStatus>Failure</CCNetIntegrationStatus>
  <CCNetLabel>1</CCNetLabel>
  <CCNetLastIntegrationStatus>Failure</CCNetLastIntegrationStatus>
  <CCNetListenerFile>C:\Program Files(x86)\CruiseControl.NET\server\XmLib\Artifacts\XmLib_ListenFile.xml</CCNetListenerFile>
  <CCNetModifyingUsers />
  <CCNetNumericLabel>1</CCNetNumericLabel>
  <CCNetProject>XmLib</CCNetProject>
  <CCNetProjectUrl>http://BUILDHPSMV/ccnet</CCNetProjectUrl>
  <CCNetRequestSource>BUILDHPSMV</CCNetRequestSource>
  <CCNetWorkingDirectory>C:\Program Files(x86)\CruiseControl.NET\server\XmLib\WorkingDirectory</CCNetWorkingDirectory>
  <CCNetUser>Administrator</CCNetUser>
  <CCNetBuildId>a7fb196a3193468e8d8505f7db7641d5</CCNetBuildId>
  <LastIntegrationStatus>Failure</LastIntegrationStatus>
  <LastSuccessfulIntegrationLabel>UNKNOWN</LastSuccessfulIntegrationLabel>
  <LastModificationDate>1/15/2013 5:06:44 PM</LastModificationDate>
  </integrationProperties>
  <build date="2013-01-16 17:06:44" buildtime="00:00:00" error="true"buildcondition="ForceBuild"></build>
  </cruisecontrol>

Only a guess but I suspect unquoted paths as cause of the failure. 仅是猜测,但我怀疑未引用的路径会导致失败。 Try "C:\\Program Files (x86)\\NAnt\\bin\\nant.exe" resp. 尝试分别使用"C:\\Program Files (x86)\\NAnt\\bin\\nant.exe" "C:\\SHS\\Build Scripts" . "C:\\SHS\\Build Scripts"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM