2011-03-30 12 views
9

Estoy fijando CruiseControl.NET y me sale el siguiente mensaje de error en la webdashboard:CruiseControl.NET no se puede hacer conexión?

No connection could be made because the target machine actively refused it 127.0.0.1:21234

la URL que está buscando es: tcp://localhost:21234/CruiseManager.rem
Sin embargo, el sitio web CCNet en IIS tiene su puerto TCP puse a 82.
Así que utilice la siguiente URL para navegar a la webdashboard http://127.0.0.1:82/ccnet/ViewFarmReport.aspx

he intentado cambiar el puerto TCP en IIS a 21234 y consigo el mensaje de error en la webdashboard:

Tcp channel protocol violation: expecting preamble.

también he intentado abrir el puerto con el siguiente comando:

netsh firewall add portopening TCP 21234 CCNET

Cuando intento iniciar el servicio CCNET me sale el siguiente mensaje

The CruiseControl.NET Server service started then stopped. Some services stop automatically if they have no work to do....

¿Alguien me puede ayudar con este problema, por favor?

EDITAR - Agregar archivo de configuración

<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> 

Respuesta

17

El primer mensaje de error probablemente se deba a que el servicio CCNET no se está ejecutando debido a que el panel web no puede conectarse. Debería desaparecer tan pronto como arregle el ccnet.config para que el servicio comience a ejecutarse.

El segundo problema ("Caracteres no válidos en la ruta", parece que ya se ha dado cuenta de la parte de los nodos que faltan) es causado por msbuild/executable element. Parece que a CC.NET no le gusta el espacio en blanco y especialmente los nuevos caracteres de línea dentro de su valor. Sustitución:

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

con:

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

debería solucionar el problema.

Otra sugerencia: cuando tenga problemas con la validez de su archivo ccnet.config, intente con CCValidator.exe (está en su carpeta CruiseControl.NET \ server). Por lo general, señala la parte problemática del archivo de configuración bastante bien (aunque ese no era el caso con el problema "Caracteres ilegales en la ruta" - tuve que comentar partes específicas de la configuración para encontrar el nodo infractor).

+1

Al eliminar las comillas ("") de las rutas dentro de las etiquetas se corrigió por mí.¡Gracias por ponerme en el camino correcto hacia la ubicación del error! – Ruslan

0

El primer mensaje que recibe (conexión rechazada de forma activa) me hace pensar en un cortafuegos que está bloqueando el puerto que está utilizando.

El segundo problema podría ser cualquier cosa. Por ejemplo, podría ser un error en su archivo de configuración XML (ccnet.config). ¿Puedes encontrar punteros en el registro de eventos de Windows?

+0

Encontré un error en mi archivo ccnet.config pero no sé cómo solucionarlo. - [Servidor CCNet: ERROR] Excepción: no se pueden crear instancias de proyectos CruiseControl desde el documento de configuración. Es probable que falte el documento de configuración. Se requieren nodos Xml para llenar correctamente la configuración de CruiseControl. Falta el nodo Xml (packageList) para el miembro requerido (ThoughtWorks.CruiseControl.Core.Publishers.Packa gePublisher.PackageList) - Intenté agregar un nodo de lista de paquetes, pero sigo recibiendo errores. ¿alguna ayuda? – shane87

0

En cuanto al segundo problema: ¿intentó ejecutar el servidor CC.NET desde la línea de comandos?
Si tiene un error en su configuración XML, esto le dará un mensaje de error más significativo. ¿Qué cuenta estás utilizando para ejecutar el servicio de Windows?

+0

Ejecuté CC.NET desde la línea de comandos y recibí el siguiente error: [Servidor CCNet: ERROR] Excepción: No se pueden crear instancias de proyectos CruiseControl desde el documento de configuración. Es probable que falte el documento de configuración. Se necesitan nodos Xml para completar correctamente la configuración de CruiseControl co . Falta el nodo Xml (packageList) para el miembro requerido (ThoughtWorks.CruiseControl.Core.Publishers.Packa gePublisher.PackageList). – shane87

0

¿Ha comprobado el archivo dashboard.config de ccnet? Tiene la siguiente línea en él:

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

trate de cambiar el puerto en que para 82 y reiniciando el sitio web (que debe ser sólo capaz de añadir un espacio para el archivo web.config y guardar y IIS reiniciar el sitio web).

+0

después de cambiar al puerto 82 aquí obtengo la "violación del protocolo de canal Tcp: esperando el preámbulo". error de nuevo Parece que hay un problema en mi archivo ccnet.config, ya que recibo el siguiente error al ejecutar cc.net desde la línea de comandos. Excepción: no se pueden crear instancias de proyectos CruiseControl desde el documento de configuración. Es probable que falte el documento de configuración. Se requieren nodos Xml para llenar correctamente la configuración de CruiseControl. Falta el nodo Xml (packageList) para el miembro requerido (ThoughtWorks.CruiseControl.Core.Publishers.Packa gePublisher.PackageList) – shane87

0

parece que estás confundiendo dos funciones diferentes:

tcp://localhost:21234

Este es el puerto por defecto de interacción remota para clientes como CCTray. Esto no se usa para el sitio web de IIS (tablero de instrumentos).

Configuration document is likely missing Xml nodes required for properly populating CruiseControl co nfiguration. Missing Xml node (packageList) for required member (ThoughtWorks.CruiseControl.Core.Publishers.Package Publisher.PackageList)

Su ejemplo de configuración se requiere desaparecidos packageList nodo.

+0

He agregado el nodo packageList y ahora aparece el siguiente error: La validación interna falló para project'project1 ': caracteres ilegales en la ruta – shane87

+0

Solo una suposición: Quizás a CC.Net no le gustan los corchetes ('(', ')') en sus rutas. Intenta usar las rutas cortas (C: \ Progra ~ 1 \ ...) en su lugar. –

0

Un mensaje de error engañoso. El puerto realmente es 21234, no 82. Obtuve los mismos errores. La solución fue iniciar ccnet.exe desde el acceso directo del escritorio para descubrir que el problema real era un código ilegal en mi archivo ccnet.config.

Después de solucionar el archivo ccnet.config, el problema se movió. Al intentar compilar, el sistema no permite que el cliente de subversión modifique los archivos de marcador de solo lectura en el repositorio rendido.

0

En mi caso, imprimí mal el nombre del archivo de configuración del proyecto en ccnet.config en lugar de timescheduler.config, que fue timesheduler. Cuando arreglé el nombre del archivo, pude ejecutar el servicio 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> 
Cuestiones relacionadas