작은 프로젝트에 CruiseControl.NET을 사용하기 시작했으며 XML 파일을 빌드가 실행되는 전자 메일 게시자로 병합하는 데 문제가 있습니다. 완료되었습니다.CruiseControl.NET에서 게시자를 사용하여 파일을 병합하는 방법
필자가 읽은 바로는 병합 태그가 xml 로거 앞에 나타나고 파일이 지정된 위치에 있어야한다는 것입니다. 아래에서 수행 한 작업입니다.
<merge>
<files>
<file>C:\CCNet\xxx.xml</file>
</files>
</merge>
<xmllogger />
내가에 병합하기 위해 노력하고있어 파일 그러나 내가 제거 그 문제를 진단하려고에, 원래은 NAnt/NUnit과 출력의 결과였다 위와에서 정적 XML 파일에 병합하여 가능성 등 알려진 위치이며 여전히 같은 문제가 있습니다.
XML이 특정 형식이어야합니까? 전자 메일 게시자가 XSL 파일을 표시하는 방법을 알 수 있도록 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