开发者

Unable to find Log Publisher for project on CCNET

I recently started a project and I'm currently trying to configure the ccnet.config file.

The fact is I can't find out why CruiseControl can't find the log file.

I guess it is something easy and I'm doing something wrong, after 4 days, I'm able to find a solution.

I get the next error message in CCNET:

ThoughtWorks.CruiseControl.Remote.CommunicationsException: Request processing has failed on the remote server: Unable to find Log Publisher for project so can't find log file at 
ThoughtWorks.CruiseControl.Remote.CruiseServerClient.ValidateResponse(Response response) at 
ThoughtWorks.CruiseControl.Remote.CruiseServerClient.GetMostRecentBuildNames(String projectName, Int32 buildCount) at 
ThoughtWorks.CruiseControl.WebDashboard.ServerConnection.ServerAggregatingCruiseManagerWrapper.GetMostRecentBuildSpecifiers(IProjectSpecifier projectSpecifier, Int32 buildCount, String sessionToken) at ThoughtWorks.CruiseControl.WebDashboard开发者_运维知识库.Plugins.ProjectReport.ProjectReportProjectPlugin.Execute(ICruiseRequest cruiseRequest) at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ServerCheckingProxyAction.Execute(ICruiseRequest cruiseRequest) at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ProjectCheckingProxyAction.Execute(ICruiseRequest cruiseRequest) at 
ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.CruiseActionProxyAction.Execute(IRequest request) at 
ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ExceptionCatchingActionProxy.Execute(IRequest request)

As i told you, i guess something's wrong with my config file, the one is as follows:

<cruisecontrol>
  <project name="Myproject" queue="MyprojectQueue" queuePriority="1">
    <webURL>http://localhost:80/ccnet/</webURL>
    <workingDirectory>C:\Projects\Myproject\trunk\Source\</workingDirectory>
    <artifactDirectory>C:\Projects\Myproject\trunk\Build\Log\</artifactDirectory>
    <sourcecontrol type="svn">
      <trunkUrl>https://localhost/svn/Myproject.com/trunk</trunkUrl>
      <workingDirectory>E:\Repositories\Myproject.com</workingDirectory>
      <executable>C:\Program Files\VisualSVN Server\bin\svn.exe</executable>
      <username>myusername</username>
      <password>mypassword</password>
      <timeout>60000</timeout>
    </sourcecontrol>
    <tasks>
      <artifactcleanup   cleanUpMethod="KeepLastXBuilds"   cleanUpValue="5" />
      <modificationWriter>
        <filename>mods.xml</filename>
        <path></path>
      </modificationWriter>
    </tasks>
    <triggers>
      <intervalTrigger name="SVN" seconds="10" buildCondition="IfModificationExists" />
    </triggers>
    <labeller type="defaultlabeller">      
      <prefix>0.1.</prefix>
      <incrementOnFailure>true</incrementOnFailure>
      <labelFormat>000</labelFormat>
    </labeller>
    <state type="state" directory="State" />

    <tasks>
      <nant>
        <executable>C:\Projects\Myproject\trunk\Binaries\NAnt\bin\nant.exe</executable>
        <baseDirectory>C:\Projects\Myproject\trunk\Binaries\NAnt\</baseDirectory>
        <buildArgs>-D:svn.executable="C:\Program Files\VisualSVN Server\bin\svn.exe"</buildArgs>
        <nologo>false</nologo>
        <buildFile>C:\Projects\Myproject\trunk\Source\Myproject.build</buildFile>
        <logger>SourceForge.NAnt.XmlLogger</logger>
        <buildTimeoutSeconds>1200</buildTimeoutSeconds>
        <targetList>
          <target>cruise</target>
        </targetList>
      </nant>
    </tasks>

    <publishers>
      <buildpublisher>
        <sourceDir>C:\Projects\Myproject\trunk\Build</sourceDir>
        <publishDir>C:\Projects\Myproject\trunk\Build</publishDir>
        <useLabelSubDirectory>true</useLabelSubDirectory>
      </buildpublisher>
      <merge>
        <files>
          <file>reports\devenv.log</file>
          <file>reports\*-nunit.xml</file>
          <file>reports\*-Coverage.xml</file>
        </files>
      </merge>
    </publishers>
  </project>
</cruisecontrol>

My .sln file is located at "Source directory".

I was searching but can't find anything about this. Also I'm using nant and svn as you can see.


You are missing the XML Log Publisher inside the publishers block. As it is stated in the documentation (.../CruiseControl.NET/webdashboard/doc/CCNET/Xml Log Publisher.html, the online docs seem to be down currently), it is required for the dashboard to function properly. The publishers block contains it by default so you only have to add it when you include the publishers block in your project.

Try modifying your publishers block as follows, it should help:

<publishers>
  <buildpublisher>
    <sourceDir>C:\Projects\Myproject\trunk\Build</sourceDir>
    <publishDir>C:\Projects\Myproject\trunk\Build</publishDir>
    <useLabelSubDirectory>true</useLabelSubDirectory>
  </buildpublisher>
  <merge>
    <files>
      <file>reports\devenv.log</file>
      <file>reports\*-nunit.xml</file>
      <file>reports\*-Coverage.xml</file>
    </files>
  </merge>
  <xmllogger />
</publishers>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜