Pregunta

Estoy empezando a configurar un servidor de integración continua con CruiseControl.Net. Para simplificar las cosas, utilicé la tarea de Visual Studio para llevar a cabo la compilación, apuntando al archivo de solución del proyecto. Sin embargo, cuando se produce el proceso de compilación, CC.Net obtiene con éxito la última versión de origen de Subversion y parece ejecutar el comando devenv. El proceso de compilación falla, pero no hay explicación sobre por qué. Aquí está el resultado:

  

ERROR EN LA CONSTRUCCIÓN
  Proyecto: MyProject
  Fecha de construcción: 2009-09-09 16:31:13
  Duración: 00:00:49
  Solicitud de integración: el Panel de control activó una compilación (ForceBuild)

     

Modificaciones desde la última compilación (0)

     

Pruebas ejecutadas: 0, Fallos: 0, No ejecutadas: 0,   Tiempo: 0 segundos Sin pruebas Ejecutar esto   el proyecto no tiene ninguna prueba

No se muestra nada más en la página. Mis registros XML tampoco muestran ningún resultado de compilación.

Este es mi archivo de configuración:

<!--<ccnetconfig><configurationVersion>1.4</configurationVersion></ccnetconfig>-->
<cruisecontrol>
  <project name="MyProject">
    <workingDirectory>C:\Users\Builder\Desktop\builder-pc\MyProject</workingDirectory>
    <sourcecontrol type="svn">
      <trunkUrl>svn://builder-pc/MyProject/trunk</trunkUrl>
      <workingDirectory>C:\Users\Builder\Desktop\builder-pc\MyProject</workingDirectory>
      <executable>C:\Program Files\Subversion\bin\svn.exe</executable>
      <autoGetSource>True</autoGetSource>
      <tagOnSuccess>True</tagOnSuccess>
    </sourcecontrol>
    <tasks>
      <devenv>
        <solutionfile>C:\Users\Builder\Desktop\builder-pc\MyProject\trunk\MyProject.sln</solutionfile>
        <configuration>release</configuration>
        <buildtype>Rebuild</buildtype>
        <executable>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe</executable>
        <buildTimeoutSeconds>600</buildTimeoutSeconds>
      </devenv>
    </tasks>
  </project>
</cruisecontrol>

He eliminado deliberadamente elementos como el nombre de usuario y la contraseña de SVN.

Construir la solución usando el símbolo del sistema VS funciona, aunque con advertencias. Esto está usando los mismos swtiches que CC.Net estaría usando.

¿Alguien puede ayudar? ¿Falla porque no hay pruebas unitarias para ejecutar o debido a las advertencias? ¿O es mejor cambiar a MSBuild o NAnt en lugar de usar la tarea de Visual Studio?

¿Fue útil?

Solución

Si no hay información útil en el registro de compilación, intente mirar el registro del servidor para obtener información sobre la falla.

Otros consejos

Creo que la razón por la que no ve ningún resultado en los archivos de registro xml es porque no tiene una sección <publishers> adecuada en su <project>.

Prueba:

<publishers>

  <xmllogger />

</publishers>

Intente ejecutar la compilación con MSBuild en lugar de devenv.exe. Si el registro se fusiona con el xml pero no se muestra correctamente en el panel web, asegúrese de que las transformaciones xsl están habilitadas. Además, como mencionó Scrappydog, agregue el editor xmllogger (aunque debería agregarse de forma predeterminada si no tiene ningún editor definido, puede verificar esto en la página 'Configuración del proyecto' en tablero de instrumentos.

Debe utilizar devnev.com (tenga en cuenta que la extensión del archivo es .com , no .exe) en la misma ruta (es decir, C: \ Archivos de programa \ Microsoft Visual Studio 9.0 \ Common7 \ IDE), en lugar de devnev.exe.

El bloque <executable> es opcional, y desde el CruiseControl. NET documentación , utilizará la última versión de devnev.com, no devnev.exe.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top