143 votos

¿Integración continua de Ruby on Rails?

He estado buscando alrededor de un Continuo de solución de Integración para Ruby on Rails, pero no he sido demasiado contento con los resultados. Yo venía de una .NET tienda en la que se utiliza CruiseControl.NET y fue realmente mimados con su facilidad de uso y una rica/estado de presentación de informes.

Idealmente estoy buscando:

  • La obvia Git/SVN y Test::Unit integración

  • Integración con el Rastrillo y/o Capistrano

  • Una interfaz web que muestra el estado de la acumulación

  • Correo electrónico de notificación de error construye.

  • Notificación de escritorio (potencialmente a través de Growl)

  • API REST para construir estados de

  • Plugin de marco para la ejecución de otras herramientas de análisis de código y presentación de informes de los resultados en la interfaz de usuario

80voto

TALlama Puntos 4652

Acabo de ir a través de las opciones aquí y pensé en rodar hasta finales de 2011.

Integridad

Después de una experiencia cercana a la muerte que a la izquierda, que sigue vinculado a la página web con información desactualizada y tendido en el sitio de demostración, este proyecto tiene una chispa de la vida otra vez. Pero la documentación no se ha movido, y montones y montones de los pasos en el tutorial son totalmente roto, tuve que cambiar las referencias a las gemas, construir algunas de las cosas de la banda y, a continuación, todavía no pude hacerlo funcionar.

Crucero Control.rb

Muy sencillo: sólo tiene que descargar, ejecutar una línea de comandos para agregar a su proyecto (no hay ninguna interfaz de usuario para hacerlo), y ejecutar la aplicación Rails. Pero no hay ninguna interfaz de usuario para la edición de su proyecto, ya sea, y no hay ninguna integración real con construir artefactos aparte de mostrar enlaces a ellos: no tienes los gráficos de las pruebas se ejecutan, no hay líneas de tendencia, etc. Yo también tuve que ajustar el routes.rb archivo para obtener el código vinculación de trabajo ( resources :projects de la línea debe pasar por debajo de todos los otros no-rutas por defecto).

TeamCity

Esto se ve impresionante, pero la escala salarial parece fuera de lugar. 3 agentes libres y entonces, cuando estés de dependientes que usted necesita para repartir cientos de dólares. Personal Construye ve muy bien, pero no tiene el presupuesto.

Jenkins (née Hudson)

Este es un Java incondicional y es cargado con mil opciones, por lo que la interfaz de usuario es confuso y es una tarea para configurar sus proyectos. Pero una vez que usted obtiene un montón de plugins que pueden tirar desde cualquier lugar, ejecutar la mayoría de la nada, y el informe de la mayoría del todo. El Instalador de OS X puntos de Jenkins en /Users/Shared/Jenkins/Home pero no puede crear el directorio o chown a daemon (que se utiliza por defecto, y usted debe cambiar a una nueva jenkins de usuario, por lo que puede configurar GitHub integración).

Otros

Yo en realidad no se trate de estos, pero pensé que mencionar por qué:

  • CI Joe quiere tener la repo de GitHub más de lo que yo quiero, y sus creadores aun no están utilizando; están en Jenkins.
  • Cerberus parece perfectamente pequeño, pero no tiene una interfaz de usuario y no publicar automáticamente construir artefactos que los demás puedan ver.
  • BigTuna parece ser un CruiseControl.rb clon sin el (ya mínimo) de apoyo a la comunidad.
  • El bambú se ve realmente bueno si utiliza JIRA y BitBucket, pero usamos ninguno de los dos. No se despliega, pero ya tenemos a las establecidas en Capistrano.

La Elección

Fuimos con Jenkins, pero en realidad deseo que uno de los más ligeros en peso de soluciones hubiese funcionado.

41voto

craigb Puntos 10622

¿Por qué CruiseControl.rb?

Mismos que hicieron CruiseControl (thoughtworks) y escrita en Ruby . Muy fácil de usar Rake para integrar otras herramientas y puede utilizar la gema rubí-growl para las notificaciones.

27voto

Julian Puntos 401

También puede ser que desee considerar la posibilidad de Hudson. Está diseñado para su uso con proyectos Java, aunque hay una gran selección de plug-ins disponibles, incluyendo soporte para Ruby y el Rastrillo. Posee algo muy útil interfaz web y soporta las notificaciones de correo electrónico así como muchos otros (como twitter, o el gigante de oso de las lámparas).

La comunidad es muy activa y ha habido varios artículos sobre enganchar Hudson con Selenium que puede ser útil para probar nuestras aplicaciones en el lado del navegador.

Otro aspecto es el Equipo de la Ciudad , que es gratuita para los pequeños proyectos y equipos (incluyendo comerciales). Me gusta mucho el Equipo de la Ciudad, y lo he usado antes para otros proyectos, pero en la actualidad estamos usando Mercurial para el control de fuentes y Equipo de respaldo de la Ciudad era un poco demasiado beta cuando estábamos considerando.

Me cambié de CruiseControl.net para el Equipo de la Ciudad y estaba absolutamente sorprendido por la mejora. Yo soy parcial a Hudson, aunque debido a su conjunto de características similar y muy activa de la comunidad.

14voto

Paul Biggar Puntos 7108

El círculo es un avanzado CI servicio de Rieles (y otras aplicaciones web). De tu lista, es compatible con las siguientes:

  • Git y Prueba:la Unidad de integración (también RSpec, Pepino, Jazmín, Konacha integraciones, y apoya arbitraria extra de comandos de prueba)
  • Integración con el Rastrillo y/o Capistrano (usa un Rastrillo para ejecutar comandos y configurar DBs, el apoyo continuo de la implementación a través de Capistrano o Heroku, o cualquier cosa realmente)
  • Una interfaz web que muestra el estado de la construcción
  • Correo electrónico de notificación de error construye.
  • Notificación de escritorio (a través de CCMenu/CCTray)
  • API REST para construir estados de
  • Plugin de marco para la ejecución de otras herramientas de análisis de código y presentación de informes de los resultados en la interfaz de usuario (podemos ejecutar comandos arbitrarios y apoyo, incluyendo su estatus como parte de la construcción)

Joel y yo pasamos un rato charlando sobre esto en el Stackoverflow podcast - check it out!


(editar) Descargo de responsabilidad: Pablo Biggar fundada Círculo como él dice en su perfil de Stackoverflow

7voto

Jay Moorthi Puntos 556

Echale un vistazo y Tddium. Tddium soporte continua integración, implementación y pruebas interactivas de aplicaciones Ruby. Proporciona un entorno gestionado con el apoyo de selenio, Webkit decapitado y Solr. Acoge vivo Postgres, MySQL, Mongo y Redis instancias. Y automáticamente parallelizes prueba grande suites.

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