Pregunta

Estoy tratando de usar CruiseControl 2.7.3 , (el original), para construir un proyecto Java que esté en un repositorio SVN.

Mi configuración de crucero está utilizando el svn plugin para el conjunto de modificaciones. Cuando se detecta una modificación, se programa una compilación utilizando Ant. Ese archivo de compilación Ant luego usa la tarea Ant de svnant para hacer un pago completo del proyecto. Por un tiempo, tuvimos este conjunto para finalizar la compra '' HEAD '', pero hemos tenido casos en los que la compilación no se activará para un registro o dos porque el registro se produjo después de la verificación del conjunto de modificación, pero antes de la llamada de la hormiga a svn checkout. Como resultado, estamos tratando de cambiar el archivo de compilación de hormigas para usar el número de revisión que recupera la verificación de modificación.

La página de referencia de configuración de CruiseControl afirma que una propiedad, svnrevision , es establecido y pasado a los constructores, al igual que la propiedad de etiqueta es labelincrementers . Parece que no se establece cuando presiono el botón forzar compilación .

¿Hay algo que deba hacer para que esto funcione?

¿Fue útil?

Solución

Al mirar el código para el control de fuente SVN, parece que svnrevision debería pasarse al constructor y, por lo tanto, a su invocación Ant. ¿Has intentado usar la propiedad de tu script Ant?

En respuesta a la pregunta en el comentario:

Eso es porque en el caso de compilación forzada no hubo modificación, por lo que no hay número de revisión de modificación. En ese caso, svnlabelincrementer pasará el último número de revisión de lo que tiene localmente, que también será el último.

Otros consejos

La invocación de hormigas de control de crucero no tiene nada que ver con la etiqueta (svn) que se construye como tal. La etiqueta svn se usa para anotar los nombres de compilación, mientras que build.log es realmente solo la salida de ant cuando se pasa a través de control de crucero.

Si desea que se escriba el número de revisión en la salida de compilación de ant, existen básicamente dos formas:

Una forma es hacer que la hormiga interactúe con svn de alguna manera. Svn en hormiga solo está disponible a través de una contrib ant task de tigris, por lo que no es trivial para poner en su archivo de hormigas. Pero con esto en su compilación, puede hacer un svn info y obtener el número de revisión como propiedades de hormigas a su disposición.

Otra forma es usar svnlabelincrementer para asignar el número de revisión a la etiqueta, y pasarlo al script de hormiga usando buildproperties que se pasan de cruisecontrol a los scripts de compilación. Como Jay mencionó en los comentarios, la etiqueta contiene solo la última revisión de compilación exitosa, que no es lo que quiere. Se ha propuesto una solución en este blog , pero haciendo el el trabajo en el archivo de compilación de ant parece más adecuado.

¿Puedes usar la configuración de período de silencio? Después de una confirmación, CruiseControl puede esperar una cierta cantidad de tiempo (por ejemplo, 30 segundos) antes de comenzar una construcción.

No disparará compilaciones individuales para cada confirmación. Por el contrario, los compromisos al mismo tiempo darán inicio a una sola compilación.

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