0
刚刚开始使用CruiseControl.NET来处理我们正在处理的一个小型项目,并且我无法将XML文件合并到一旦生成为完成。如何使用CruiseControl.NET中的发布者合并文件
从我读过的内容中,我需要确保合并标记出现在xml记录器之前,并且该文件必须存在于指定的位置,这正是我在下面所做的。
<merge>
<files>
<file>C:\CCNet\xxx.xml</file>
</files>
</merge>
<xmllogger />
我试图合并的文件原本是南特/ NUnit的输出的结果,但是在尝试诊断我消除了这个问题,通过如上从一个静态XML文件合并的可能性一个已知的位置,仍然有相同的问题。
XML是否必须采用特定格式?我是不是加载XSL文件,以便电子邮件发布者知道如何显示它?
完整的构建脚本是在需要的情况下。
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<cb:define MainDir="C:\CCNet"/>
<cb:define WorkingDir="Working"/>
<cb:define ReleaseDir="Release"/>
<cb:define ArtifactsDir="BuildArtifacts"/>
<cb:define StateDir="State"/>
<cb:define name="BuildTask">
<nant>
<baseDirectory>$(MainDir)\$(WorkingDir)\NaturalTalent\$(Build)</baseDirectory>
<executable>C:\Program Files\nant-0.92\bin\NAnt.exe</executable>
<buildFile>default.build</buildFile>
<buildArgs>-D:CCNetReleaseDirectory=$(MainDir)\$(ReleaseDir)\NaturalTalent\$(Build)</buildArgs>
</nant>
</cb:define>
<cb:define name="CommonProjectSettings">
<state type="state" directory="$(MainDir)\$(StateDir)" />
<workingDirectory>$(MainDir)\$(WorkingDir)\NaturalTalent\$(Build)</workingDirectory>
<artifactDirectory>$(MainDir)\$(ArtifactsDir)\NaturalTalent\$(Build)</artifactDirectory>
<sourcecontrol type="git">
<repository>http://cruizecontrol:[email protected]/gitlab/nga.git</repository>
<workingDirectory>$(MainDir)\$(WorkingDir)\NaturalTalent\$(Build)</workingDirectory>
</sourcecontrol>
<publishers>
<merge>
<files>
<file>C:\CCNet\xxx.xml</file>
</files>
</merge>
<statistics />
<xmllogger />
<artifactcleanup cleanUpMethod="KeepLastXBuilds" cleanUpValue="50" />
<email from="[email protected]" mailhost="bart" mailport="25" includeDetails="true">
<users>
<cb:Users />
</users>
<groups>
<group name="developers">
<notifications>
<notificationType>Failed</notificationType>
<notificationType>Fixed</notificationType>
</notifications>
</group>
<group name="buildmaster">
<notifications>
<notificationType>Always</notificationType>
</notifications>
</group>
</groups>
<xslFiles>
<file>xsl\header.xsl</file>
<file>xsl\compile.xsl</file>
<file>xsl\modifications.xsl</file>
</xslFiles>
</email>
</publishers>
</cb:define>
<project name="NaturalTalent (TRUNK) - Latest">
<cb:scope Build="Latest">
<cb:define name="Users">
<user name="Anton Felich" group="buildmaster" address="[email protected]" />
<!--<user name="David Ames" group="buildmaster" address="[email protected]" />
<user name="David Ames" group="buildmaster" address="[email protected]" />-->
</cb:define>
<cb:CommonProjectSettings />
<tasks>
<cb:BuildTask />
</tasks>
<triggers>
<intervalTrigger name="continuous" seconds="30" buildCondition="IfModificationExists" initialSeconds="5"/>
</triggers>
</cb:scope>
</project>
<project name="NaturalTalent (TRUNK) - Nightly">
<cb:scope Build="Nightly">
<cb:define name="Users">
<user name="Anton Felich" group="buildmaster" address="[email protected]" />
<!--<user name="David Ames" group="buildmaster" address="[email protected]" />-->
<!--<user name="David Ames" group="buildmaster" address="[email protected]" />
<user name="HouTan" group="buildmaster" address="[email protected]" />
<user name="MickHutchinson" group="buildmaster" address="[email protected]" />
-->
</cb:define>
<tasks>
<cb:BuildTask />
<nant>
<baseDirectory>$(MainDir)\$(WorkingDir)\NaturalTalent\$(Build)</baseDirectory>
<executable>C:\Program Files\nant-0.92\bin\NAnt.exe</executable>
<buildFile>default.build</buildFile>
<buildArgs>-D:CCNetReleaseDirectory=$(MainDir)\$(ReleaseDir)\NaturalTalent\$(Build)</buildArgs>
<targetList>
<target>test</target>
</targetList>
</nant>
</tasks>
<cb:CommonProjectSettings />
</cb:scope>
<triggers>
<scheduleTrigger time="23:30" buildCondition="ForceBuild" name="Nightly" />
</triggers>
</project>
</cruisecontrol>
转过来这是一个n00b问题。 XML正在生成并正在成功合并到我的最终XML文件中。但是,由于我没有为合并内容加载XSLT转换,因此没有任何内容显示在仪表板中。 – anton
现在有道理!很高兴你解决了它。 – granadaCoder