0

私たちが取り組んでいる小さなプロジェクトで CruiseControl.NET の使用を開始したばかりで、ビルドの完了後に実行される電子メール パブリッシャーに XML ファイルをマージするのに問題があります。

私が読んだことから、マージタグがxmlロガーの前に表示され、ファイルが指定された場所に存在する必要があることを確認する必要があります。これは、以下で行ったことです。

<merge>
     <files>
         <file>C:\CCNet\xxx.xml</file>
     </files>
</merge>    
<xmllogger />

マージしようとしているファイルは、もともと NAnt/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:password@192.168.1.155/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="ccnet@nga.net" 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="anton.felich@nga.net" />
                <!--<user name="David Ames" group="buildmaster" address="david.ames@nga.net" />
                <user name="David Ames" group="buildmaster" address="davidames76@gmail.com" />-->
            </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="anton.felich@nga.net" />
                <!--<user name="David Ames" group="buildmaster" address="david.ames@nga.net" />-->
                <!--<user name="David Ames" group="buildmaster" address="davidames76@gmail.com" />
                <user name="HouTan" group="buildmaster" address="hou.tan@nga.net" />
                <user name="MickHutchinson" group="buildmaster" address="mick.hutchinson@nga.net" />
                -->
            </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>
4

1 に答える 1

1

xml ファイルに適切な形式の xml が含まれている限り (そうあるべきです)...「すべてを build.xml に吸い込むことは、タスクで正常に機能するはずです。

あなたは新しいので、ディレクトリが正しく設定されていない可能性があると思います。

このツールをダウンロードします。

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

「xxx.xml」を検索してください........そして、タスクのディレクトリが正しいことを確認してください。

PS、ファイル名にワイルドカードを使用できます(以下を参照)。これは私が行っていることです。

  <publishers>
    <merge>
      <files>


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


      </files>
    </merge>
于 2013-10-11T18:46:44.753 に答える