2013-10-11 19 views
0

작은 프로젝트에 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> 

답변

1

만큼 xml 파일은 잘 구성된 XML (그것이 있어야하는) ...... (가) "는 모든 - 인 - 더 - build.xml 파일로 빨아하면와 잘 작동합니다 들어 있으므로 작업

새로운 것 때문에, 나는 당신이 디렉토리가 올바르게 설정되지 않았을 수 있습니다 추측거야

다운로드이 도구 :.. 당신의 "x의

http://www.voidtools.com/download.php

검색 xx.xml "........ 그런 다음 작업 디렉토리가 올바른지 확인하십시오.

추신 : 내가하고있는 파일 이름에 와일드 카드를 사용할 수 있습니다 (아래 참조).

<publishers> 
    <merge> 
     <files> 


    <file>C:\ExactFolderWhereThisFileExists\*RESULTS.xml</file>    


     </files> 
    </merge> 
+0

턴 아웃은 n00b 문제였습니다. XML이 생성되어 성공적으로 최종 XML 파일에 병합되었습니다. 그러나 병합 된 콘텐츠에 대해로드 된 XSLT 변환이 없으므로 대시 보드에 아무것도 표시되지 않았습니다. – anton

+0

이제 의미가 있습니다! 당신이 다 해결했기 때문에 다행입니다. – granadaCoder