21 votos

¿Qué herramienta de integración continua es mejor para un proyecto de C++?

Elevalunas y Hudson son dos sistemas de integración continua popular. Aunque ambos sistemas son capaces de hacer muy bien las estructuras continuadas automatizadas, parece mucho más fácil crear un lote o bash script de compilación, entonces use el programador de Windows o cron para programar estructuras.

¿Hay mejores sistemas de integración continua para proyectos de C++? ¿O está usando un script y un programador de la manera más simple?

12voto

David Dibben Puntos 7968

Hemos estado utilizando CruiseControl de CI en un proyecto de C++. Mientras que es la única cosa que el uso de la hormiga, la hormiga script de compilación para CruiseControl sólo comienza a nuestros normal script de compilación, por lo que es muy sencillo y realmente no la necesitaba actualizar en mucho tiempo. Por lo tanto, el hecho de que CrusieControl está basado en Java, no ha sido un problema para nosotros.

Los principales beneficios de usar algo como el control de crucero son

  • Una buena página web mostrando estado de generación de
  • Correo electrónico después de cada generación o después de haber fallado construye
  • Generar automáticamente después de confirmar que el sistema de control de origen
  • Un plugin de firefox para supervisar el estado de generación de
  • Muestra la salida de errores de compilación.
  • Muestra qué archivos han cambiado desde la última build (bueno para ver que el desarrollador se rompió el buid)

Por supuesto, usted puede escribir un script que hace todo esto, pero ¿por qué hacer todo ese trabajo? En el largo plazo el extra costo inicial de configuración de CruiseControl (o algo similar) es probablemente mucho menor que el costo de mantenimiento y actualización de un personalizados de CI script de compilación.

Si todo lo que usted necesita es el lanzamiento de una construcción diaria y un sencillo script que comenzó por cron es suficiente para sus necesidades, a continuación, por todos los medios hacer que. Sin embargo, una de las ventajas de CI es que usted consigue un estado de generación de informe después de cada verificación. Escribir un script para hacer que lleva más trabajo y CruiseControl ya lo hace.

8voto

Macalendas Puntos 1243

Utilizamos Hudson para CI y Sonar para el código de métricas. Están integrados, y Hudson tiene un puñado de plugins que no cron job puede vencer. Un gran plugin es CI Juego, que mantiene una calificación sobre la que se rompe la construye y que comete sin que se rompa. Hudson tiene plugins para jugar con VMWare, Selenium, SVN, CSV, Git. Tiene la sindicación RSS, el cual puede ayudar a automatizar aún más todo lo demás. Hudson es una gran...

5voto

Tobi Puntos 13586

He estado usando buildbot para la Spring RTS motor de proyecto con éxito.

5voto

Pat Notz Puntos 46841

Hemos estado utilizando Dart Tablero de instrumentos. Es de código abierto, pero impulsado por KitWare. Se ha desde entonces ha cambiado el nombre a CDash que supongo que sigue igual de capaces. Estamos haciendo varios tipos de pruebas, incluyendo todas las noches y de integración continua a través de 10 diferentes plataformas, tanto de depuración y el modo de lanzamiento así como la ejecución de 1000s de pruebas de aplicación y presentación de informes de los resultados no demasiado.

3voto

Lior Friedman Puntos 31

También puede intentar TeamCity. es un producto comercial, pero da una licencia libre hasta 20 desarrolladores (IIRC).

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X