2009-02-12 9 views
5

Me gustaría poder mantener nuestro archivo ccnet.config de CruiseControl.Net en svn, luego cuando verifique un cambio, es decir, he agregado un nuevo proyecto, se actualizará.¿Puedo guardar el ccnet.config de CruiseControl.Net en svn, y luego hacer que CruiseControl actualice su propio archivo de configuración cuando se registra un cambio?

De esta manera tengo el archivo de configuración bajo control de fuente y puedo rastrear los cambios que se están realizando.

Me doy cuenta de que podría comprobar un cambio que arruinará CruiseControl a un punto donde tendría que tener alguna intervención manual, pero en el caso general, esto parece que funcionaría muy bien.

Sin embargo, este lazo parece que podría crear un agujero negro y destruir el mundo. Me gustaría mantener eso fuera de mi conciencia si es posible.

¿Alguna idea?

+2

http://confluence.public.thoughtworks.org/display/CCNET/Configure+CruiseControl.Net+to+Automatically+Update+its+Config+File –

Respuesta

4

Estamos haciendo casi exactamente eso y no han aparecido agujeros negros ... ¿o tal vez lo hicieron y simplemente se evaporaron? :) CruiseControl.NET lo maneja muy bien, incluso esperará hasta que otras compilaciones hayan terminado antes de reiniciar.

Nuestro proceso parece un poco más compleja, aquí está un breve resumen sobre el flujo de trabajo:

  • En nuestro "Omega" construye (RTM, GA, Oro, ...) para un proyecto que creamos automáticamente una nuevo proyecto ccnet. El proyecto se basa en una rama (cuyo nombre también se genera automáticamente a partir del assembly version) que también se crea al mismo tiempo.
  • El nuevo proyecto se agrega, ccnet.config se actualiza para hacer referencia a él, la copia de trabajo se actualiza, confirma y actualiza.

por lo que toma (como máximo) 2 clics para nosotros para crear una versión de lanzamiento de CCNet - un clic para crear el proyecto de sucursales y CCNet, a continuación, otro clic para forzar la primera construcción en contra de la rama de lanzamiento, o puede esperar el parche inevitable ;-)

Feliz de proporcionar más detalles si los quiere.

+0

Esa es la confirmación que estaba buscando ... Nuestra configuración es no es ni de lejos tan complicado, pero hurgar en un archivo de configuración sin versión me da los heebie-jeebies.Voy a probar esto y ver cómo va. ¡Gracias! – Moose

2

Tampoco me gusta tener que cambiar manualmente el ccnet.config. He aquí lo que hice:

Agregué el ccnet.config (y relacionado) a svn. , hicimos un proyecto de 'Configuración' y añade las siguientes partes: bloque

  • SourceControl de revisar la configuración de un dir 'Preparación'.
  • Copie el archivo de configuración que no está en svn (parte de configuración de seguridad) en el directorio 'prep'.
  • Ejecute CCNetValidator en el directorio 'Prep'
  • Verifique la configuración de la configuración real.

Lo que más me gusta de esto es que cuando cometo un error en la configuración tengo una compilación fallida, pero la configuración actual aún no se ha actualizado.

Cuestiones relacionadas