Service CruiseControl.NET无法建立连接?

Service CruiseControl.NET无法建立连接?,service,tcp,cruisecontrol.net,Service,Tcp,Cruisecontrol.net,我正在设置CruiseControl.NET,在webdashboard上收到以下错误消息: 无法建立连接,因为目标计算机主动拒绝127.0.0.1:21234 它正在查找的Url是:tcp://localhost:21234/CruiseManager.rem 但是,IIS中的ccnet网站的tcp端口设置为82。 因此,我使用以下Url导航到webdashboardhttp://127.0.0.1:82/ccnet/ViewFarmReport.aspx 我尝试将IIS中的Tcp端口更改为2

我正在设置CruiseControl.NET,在webdashboard上收到以下错误消息:

无法建立连接,因为目标计算机主动拒绝127.0.0.1:21234

它正在查找的Url是:
tcp://localhost:21234/CruiseManager.rem

但是,IIS中的ccnet网站的tcp端口设置为82。
因此,我使用以下Url导航到webdashboard
http://127.0.0.1:82/ccnet/ViewFarmReport.aspx

我尝试将IIS中的Tcp端口更改为21234,但在webdashboard上收到以下错误消息:

Tcp通道协议冲突:应为前导。

我还尝试使用以下命令打开端口:

netsh防火墙添加端口打开TCP 21234 CCNET

当我尝试启动CCNET服务时,我收到以下消息

CruiseControl.NET服务器服务启动后停止。有些服务如果没有工作要做,就会自动停止……

有人能帮我解决这个问题吗

编辑-添加配置文件

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<cb:define PublishDir="C:\Deploy\Portal2.0Build"/>

    <project name="Portal2.0">
      <workingDirectory>C:\PortalCruiseControl\Working</workingDirectory>
      <artifactDirectory>C:\PortalCruiseControl\Artifacts</artifactDirectory>
      <webURL>http://192.168.17.59:82/ccnet</webURL>
      <triggers>
        <intervalTrigger name="continuous" seconds="10"
               buildCondition="IfModificationExists"/>                              
      </triggers>
      <sourcecontrol type="svn">                                            
        <trunkUrl>https://portal2003.local:8443/svn/portalv2.0/trunk</trunkUrl>                
        <executable>C:\Program Files (x86)\VisualSVN Server\bin\svn.exe</executable>           
        <username>ccnet</username>                                         
        <password>***</password> 
        <cleanCopy>true</cleanCopy>
      </sourcecontrol>
      <tasks>
        <msbuild>
            <executable>                                                      
                C:\WINDOWS\microsoft.net\Framework64\v3.5\MSBuild.exe                                              
            </executable> 
            <projectFile>Portal2.0.sln</projectFile>  
            <buildArgs>
                /target:build;publish /p:Configuration=Release /p:MSBuildExtensionsPath=C:\Progra~2\MSBuild /p:MSBuildEmitSolution=1 /p:publishdir=C:\Deploy\Portal2.0Build /verbosity:diag
            </buildArgs>                                                      
            <logger>
                C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll
            </logger>
        </msbuild>
      </tasks>
        <labeller type="assemblyVersionLabeller">
          <major>2</major>
          <minor>0</minor>
          <incrementOnFailure>false</incrementOnFailure>
        </labeller>
      <publishers>
        <statistics />
        <xmllogger />
        <package>
          <name>ZipFilePublish</name>
          <compression>9</compression>
          <always>false</always>
          <flatten>false</flatten>
          <baseDirectory>$(PublishDir)</baseDirectory>
          <dynamicValues>
              <replacementValue property="name">
                <format>C:\Deploy\Builds\PortalBuild{0}.zip</format>
                <parameters>
                  <namedValue name="$CCNetLabel" value="Default" />
                </parameters>
              </replacementValue>
          </dynamicValues>
          <files>
            <file>*.*</file>
            <file>**\*</file>
          </files>
        </package>
          <email from="bla" mailhost="bla" port="25" userName="bla" 
                        password="bla"  includeDetails="TRUE" useSSL="FALSE"> 
            <users>
              <user name="User1" group="Portal" address=""/>
            </users>
            <groups>
              <group name="Portal">
                <notifications>
                    <notificationType>change</notificationType>
                </notifications>
              </group>
            </groups>
          </email>
    </publishers>
    </project>  

C:\PortalCruiseControl\Working
C:\PortalCruiseControl\Artifacts
http://192.168.17.59:82/ccnet
https://portal2003.local:8443/svn/portalv2.0/trunk                
C:\Program Files(x86)\VisualSVN Server\bin\svn.exe
ccnet
*** 
真的
C:\WINDOWS\microsoft.net\Framework64\v3.5\MSBuild.exe
Portal2.0.sln
/目标:建设;发布/p:Configuration=Release/p:MSBuildExtensionPath=C:\Progra~2\MSBuild/p:MSBuildEmitSolution=1/p:publishdir=C:\Deploy\Portal2.0Build/verbosity:diag
C:\ProgramFiles(x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll
2.
0
假的
ZipFilePublish
9
假的
假的
$(PublishDir)
C:\Deploy\Builds\PortalBuild{0}.zip
*.*
**\*
改变

您收到的第一条消息(主动拒绝连接)让我想到防火墙正在阻止您使用的端口


第二个问题可能是任何问题。例如,它可能是XML配置(ccnet.config)文件中的错误。您能在Windows事件日志中找到任何关于第二个问题的指针吗?

您是否尝试从命令行运行CC.NET服务器?
如果您的XML配置中有错误,这将给您一条更有意义的错误消息。
您使用哪个帐户运行Windows服务?

是否检查了ccnet的dashboard.config文件? 它包含以下行:

<server name="local" url="tcp://localhost:21234/CruiseManager.rem" ... />


尝试将其端口更改为82,然后重新启动网站(您应该只能够向web.config文件添加一个空间并保存,IIS将重新启动网站)。

听起来您混淆了两个不同的功能:

tcp://localhost:21234

这是客户端(如CCTray)的默认远程处理端口。这不用于IIS网站(仪表板)

配置文档可能缺少正确填充CruiseControl配置所需的Xml节点。所需成员(ThoughtWorks.CruiseControl.Core.Publishers.Package Publisher.packageList)缺少Xml节点(packageList)


您的示例配置缺少必需的节点。

第一条错误消息可能是由CCNET服务未运行引起的,因为web仪表板无法连接到该服务。一旦您修复了ccnet.config,它就会消失,以便服务开始运行

第二个问题(“路径中的Ilegal字符”;您似乎已经找到了缺少的节点部分)是由以下原因引起的。似乎CC.NET不喜欢空白,尤其是它的值中的新行字符。替换:

<executable>                                                      
    C:\WINDOWS\microsoft.net\Framework64\v3.5\MSBuild.exe
</executable> 

C:\WINDOWS\microsoft.net\Framework64\v3.5\MSBuild.exe
与:

C:\WINDOWS\microsoft.net\Framework64\v3.5\MSBuild.exe
应该可以解决这个问题


另一个提示:当您的ccnet.config文件的有效性出现问题时,请尝试使用CCValidator.exe(它位于CruiseControl.NET\server文件夹中)。它通常很好地指出了配置文件中有问题的部分(尽管“路径中的非法字符”问题并非如此——我必须注释掉配置的特定部分以找到有问题的节点)。

一条误导性错误消息。端口实际上是21234,而不是82。我也犯了同样的错误。修复方法是从桌面快捷方式启动ccnet.exe,以发现真正的问题是我的ccnet.config文件中的非法代码


在修复了ccnet.config文件之后,问题继续存在。当尝试构建时,系统不会让subversion客户端修改签出的repo中的只读标记文件。

在我的情况下,我在ccnet.config而不是timescheduler.config中打印了项目配置文件名,它是timescheduler。当我确定了文件名后,我就可以运行ccnet服务了

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">     
    <cb:include href="definitions.xml" xmlns:cb="urn:ccnet.config.builder"/> 
    <cb:include href="projects/timescheduler.config" xmlns:cb="urn:ccnet.config.builder"/>
</cruisecontrol>

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">     
    <cb:include href="definitions.xml" xmlns:cb="urn:ccnet.config.builder"/> 
    <cb:include href="projects/timescheduler.config" xmlns:cb="urn:ccnet.config.builder"/>
</cruisecontrol>