Obtener CruiseControl.net para usar la salida de la tarea de larga duración al mostrar "actividad"

StackOverflow https://stackoverflow.com/questions/5304890

  •  24-10-2019
  •  | 
  •  

Pregunta

En CruiseControl.net, Tengo dos proyectos configurados, uno para construir y otro para implementar paquetes de compilación.

Nuestra construcción se basa en gran medida en Msbuild, y a medida que ejecuta el tablero de actualizaciones constantemente con la última salida de la compilación. Esto significa que a pesar de que una construcción completa puede tomar 15 minutos, puede ver exactamente dónde está y que está progresando.

La implementación se ejecuta utilizando otra herramienta (VisualBuild, aunque veo el mismo comportamiento básico con otras herramientas como PowerShell). Esta es otra tarea de larga duración, pero en este caso el tablero es no actualizado con su salida a medida que avanza. Dado que un despliegue puede llevar mucho tiempo, es difícil saber si las cosas están progresando o si las cosas se han estancado. La salida se registra en el registro de CruiseControl.net, y se mostrará en el tablero una vez que las cosas estén hechas, pero no mientras la implementación está en progreso.

¿Hay alguna manera de obtener la salida de otras tareas arbitrarias de larga duración actualizadas en el tablero en algo que se asemeja a tiempo real? ¿Qué hace que MSBuild sea especial a este respecto?

¿Fue útil?

Solución

Cruisecontrol.net, desde la versión 1.4, incluye soporte para Construir archivos de oyentes: Es un mecanismo que permite rastrear la ejecución de tareas de larga duración leyendo desde un archivo de registro. Si bien este mecanismo es genérico y se puede usar con cualquier herramienta, Cruisecontrol.net solo se envía solo con los oyentes de compilación para Msbuild y Nant (lo que significa que para esas dos herramientas el progreso se informa automáticamente, sin la necesidad de una configuración adicional).

Para una herramienta externa, como VisualBuild, llamada por <exec> Tarea, tendría que conectar su propio registrador que crea un archivo de progreso simple:

<data>
  <Item Time="2007-10-14 08:43:12" Data="Starting Build timetester" />
  <Item Time="2007-10-14 08:43:16" Data="Starting Target build" />
  <Item Time="2007-10-14 08:43:16" Data="Sleeping for 5000 milliseconds." />
</data>

en la ubicación señalada por el CCNetListenerFile Variable ambiental.

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