CruiseControl.NET crea todas las noches IfModificationExists desde la última etiqueta de compilación

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

  •  05-07-2019
  •  | 
  •  

Pregunta

Estoy usando un servidor para construir el mismo proyecto de forma continua y nocturna; sin embargo, me gustaría que la compilación nocturna solo se compile si existe una modificación durante el día. Espero lograr esto con la restricción de que ambas compilaciones usan la misma carpeta de trabajo .

Las dos opciones que estoy considerando son:

  1. Sondeo de la compilación continua y solo compila la compilación nocturna si se ha producido una compilación continua, posiblemente utilizando algún sistema de token (la construcción continua establece el token, el token de borrado nocturno).

  2. Ejecutando una tarea de creación previa al proyecto para revertir el código fuente a la última hora de compilación

Me inclino por la segunda opción, ya que desacopla los scripts de compilación, pero parece ser una tarea mucho más difícil.

¡

Sugerencias y consejos para hacer esto serían apreciados!

Información agregada:

  

La compilación de CI es una compilación rápida de   solución en una configuración y   Tal vez ejecuta algunas pruebas unitarias rápidas.

     

La construcción nocturna limpia la construcción   entorno, construye el software, los paquetes en un   instalador, ejecuta pruebas extendidas, etiquetas   el repositorio de código fuente, implementa   el instalador a un servidor compartido para   comprobadores manuales para recoger y correos electrónicos   el equipo de prueba que una construcción comprobable   fue hecho.

     

Solo quiero el   la construcción nocturna para ocurrir si hubiera   cualquier registro durante el día para que los evaluadores no se vean plagados de repetir correos electrónicos para la misma compilación.

¿Fue útil?

Solución 2

Estoy contento con mi nueva solución ...

Utilizo un MultiTrigger con un schedule Trigger y un prjectTrigger en la compilación nocturna (mejor para llamar compilación completa) y WriteModification / ReadModification para propagar el historial de modificaciones como en esta pregunta .

Otros consejos

Puede que haya terminado de simplificar esta tarea, pero ¿no puede simplemente configurar dos activadores en el proyecto? Un disparador de intervalo para las compilaciones continuas y un disparador de programación con la condición IfModificationExists para las compilaciones nocturnas.

<triggers>
  <intervalTrigger seconds="60" name="Continuous" />
  <scheduleTrigger time="23:30" buildCondition="IfModificationExists" name="Scheduled">
      <weekDays>
        <weekDay>Monday</weekDay>
      </weekDays>
  </scheduleTrigger>
</triggers>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top