Comstackciones automatizadas

Actualmente uso subversion para mi control de versiones a través de AhnkSVN y Visual Studio. Recientemente comencé a usar Tree Surgeon para configurar mis proyectos. Crea un script de construcción automáticamente usando NAnt . Me gustaría poder automatizar construcciones con regularidad proyectos dentro de SVN. Me gusta la idea de hacer una compilation en cada check-in pero las comstackciones nocturnas también funcionarían. Daría más información o más de mis pensamientos, pero pensé que lo dejaría abierto y vería lo que la comunidad SO tiene para decir.

Podría usar CruiseControl.Net , que puede hacer una compilation cada vez que ingrese, comstackciones nocturnas o como quiera hacerlo. Una búsqueda rápida en Google sugiere que CC.Net ya tiene cierta integración con NAnt .

Como han mencionado otros, usamos CCNET aquí, que normalmente no trabajamos en una creación nocturna, sino que seguimos con una estrategia de continuous integration (cada check-in).

Te aconsejaría que hagas lo mismo, ya sea por ti o dentro de un equipo, porque puedes configurar fácilmente testings unitarias para que se ejecuten en cada checkin, testings de FXCop y muchos otros productos.

Si solo eres parte de un equipo de un solo hombre, y no tienes demasiados proyectos en movimiento, también te aconsejaría visitar Team City como una opción, ya que tiene una versión gratuita, y los informes y la configuration son mucho más altos. más simple (se ve bien para mí).

Dicho esto, comenzamos con CCNET y crecimos varios productos demasiado grandes para mirar a Team City en la versión gratuita y estamos muy contentos con lo que tenemos.

Las características que ayudan con CCNET incluyen:

  • Configuración basada en XML: por lo general, puede copyr y pegar la mayor parte de lo que necesita.
  • Más o less podrás conectar tu script treesurgeon como tu script de construcción, y señalar a CCNET como una tarea ejecutable para ejecutar la compilation.
  • Gran cantidad de documentation y muy fácil de instalar nunit, ncover, fxcop, etc.
  • La aplicación Taskbar le permitirá conocer el estado de sus proyectos en cualquier momento, y también puede activar un correo electrónico o mantener un feed RSS con la misma información.

Pero definitivamente me gustaría ejecutar una compilation de CI en cada check-in, la mayor parte ejecutará las testings unitarias antes de registrarme, pero dejaré que el server CCNET maneje ejecutar cualquier aplicación / ensamblado que tenga dependencies en el ensamblado que hagamos. volver a registrarse, y se vuelven a build, y volver a probar en cada check-in.

Dado que es gratis y lleva muy poco time configurarlo, recomiendo encarecidamente que lo haga.

CruiseControl.NET es su mejor opción, en mi opinión. Es bastante fácil de ampliar con tareas personalizadas si es necesario, funciona tanto con NAnt como con MSBuild y se mantiene de forma muy activa.

También está Draco.NET , que fue inspirado por CruiseControl.NET y es un poco más liviano. Consulte este artículo para get más información sobre ambas soluciones de continuous integration.

Sugiero TeamCity . 🙂

Soy muy aficionado a buildbot . Es de código abierto, escrito en python y muy fácil de implementar, desarrollar y mantener. Se integra fácilmente con svn y la mayoría de otros sistemas de control de fuente. Todas las secuencias de commands de compilation son de código python, por lo que tiene mucha flexibilidad en términos de lo que pueden hacer los scripts básicos de Build Master. Por supuesto, también puede usarlo para disparar cualquier otro tipo de script o file por lotes.

Puede ver algunos ejemplos de buildbot en acción:

  • GNOMO
  • Pitón
  • Topographica

Es posible que desee considerar CI-Factory. Es un generador de entornos de continuous integration que utiliza CruiseControl.NET y una docena de otras herramientas. Hay un excelente screencast aquí: http://www.dnrtv.com/default.aspx?showID=64

Utilizamos CruiseControl.NET con NAnt y MsBuild para nuestro server de compilation. Lo configuramos de modo que tuviera comstackciones cada vez que verificamos el código, así como las comstackciones nocturnas.

Cascade admite hacer una compilation en cada cambio único comprometido con el repository.

He estado usando FinalBuilder durante algunos años. La ventaja de FinalBuilder es que hace mucho más que solo comstackciones. Lo tengo configurado para hacer un análisis de los resultados, crear files de comstackciones, enviar loggings de errores, etc. La última versión tiene una interfaz web que permite a los expertos no patear construcciones con un clic.