Bambú vs. Hudson (también conocido como Jenkins) frente a cualquier otro sistema de CI [cerrado]

119

¿Alguien tiene experiencia con Hudson y Bamboo? ¿Alguna idea sobre las fortalezas y debilidades relativas de estos productos?

Bien, dado que la gente sigue mencionando otros productos de CI, abriré esto más. Aquí está mi problema general. Quiero configurar un sistema CI para un nuevo proyecto. Es probable que este proyecto tenga componentes Java (WAR y JAR), algunos módulos de Python y posiblemente incluso un componente .NET. Entonces quiero un servidor CI que pueda:

  1. Manejar varios idiomas,
  2. Implementar artefactos en servidores (es decir, implementar la guerra si pasan todas las pruebas unitarias).
  3. También me gustaría algo que se integrara con una herramienta de cobertura de código decente.
  4. Los informes atractivos son agradables, pero no esenciales.
  5. Múltiples mecanismos de notificación cuando las cosas van mal.
  6. No me preocupa el hosting. Lo ejecutaré en un servidor local o en una instancia de Amazon.
  7. Además, esto tal vez sea un pastel en el cielo, pero ¿hay algo que también pueda crear aplicaciones para iPhone?
Karthik Ramachandran
fuente
2
Solo para mezclar las aguas aún más, ¿ha considerado Team City? Tienen una versión gratuita (limitada por # de usuarios). Lo he usado en el pasado y realmente me gusta la información que proporciona.
Shane Courtrille
¿Hudson o Jenkins? ( kohsuke.org/2011/01/11/bye-bye-hudson-hello-jenkins )
Romain Linsolas
2
Dejemos que sigamos confundiendo las aguas :) Integrityapp.com Esto se puede implementar en Heroku, para que pueda tener un servidor CI gratis.
Nerian
No he visto TeamCity. Y no me di cuenta de que Oracle obligó a Hudson a convertirse en Jenkins. Editaré la pregunta para reflejar esto.
Karthik Ramachandran
2
Hay un hilo al respecto aquí: forums.atlassian.com/message.jspa?messageID=257292121
sal

Respuestas:

50

Descargo de responsabilidad: trabajo en Bamboo y, por lo tanto, no voy a comentar sobre las características de otros productos de CI, ya que mi experiencia con ellos es limitada.

Para responder a sus requisitos específicos:

Manejar varios idiomas

Bamboo tiene soporte listo para usar para varios idiomas. Los clientes lo usan con Java, .Net, PHP, JavaScript, etc. Dicho esto, la mayoría de los servidores de compilación son lo suficientemente genéricos como para ejecutar al menos un script que puede iniciar su proceso de compilación.

Implementar artefactos en servidores (es decir, implementar la guerra si pasan todas las pruebas unitarias).

Bamboo 2.7 es compatible con Build Stages, que le permiten dividir su build en un Unit Test Stage y un Deploy Stage. Solo si la etapa de prueba unitaria tiene éxito, la compilación pasará a la etapa de implementación. En Bamboo 3.0 admitiremos el uso compartido de artefactos entre etapas, lo que le permitirá crear un artefacto (por ejemplo, su guerra) en la primera etapa y utilizar este artefacto en las siguientes etapas para pruebas y despliegue.

También me gustaría algo que se integrara con una herramienta de cobertura de código decente.

Bamboo viene con soporte para Clover y también tiene un complemento disponible para Cobertura .

Los informes atractivos son agradables, pero no esenciales.

Bamboo tiene un montón de informes que son agradables, pero no esenciales :)

Múltiples mecanismos de notificación cuando las cosas van mal.

Bamboo puede notificarle por correo electrónico, RSS, mensajería instantánea, un complemento IDE o un bonito tablero que sea visible para todo el equipo.

No me preocupa el hosting. Lo ejecutaré en un servidor local o en una instancia de Amazon.

Por experiencia, generalmente es más barato alojar su propio servidor CI. Pero si necesita escalar, Bamboo facilita la distribución de sus compilaciones a agentes locales adicionales o escalar a Amazon a través de agentes Elastic.

Además, esto tal vez sea un pastel en el cielo, pero ¿hay algo que también pueda crear aplicaciones para iPhone?

De manera similar a la respuesta a su primera pregunta, la mayoría de los servidores de CI podrán crear aplicaciones para iPhone de alguna manera. Sin embargo, es posible que se requiera un poco más de secuencias de comandos.

Precio: Bamboo no es gratis (aparte de nuestra licencia de inicio gratuita ) / libre / open-source, pero obtendrá el código fuente de Bamboo si compra una licencia comercial y soporte completo. En comparación con el costo de la potencia informática y el mantenimiento potencial requerido para un servidor CI, el costo de una licencia de Bamboo es bastante pequeño.

Espero que esto ayude.

jens
fuente
15
La estructura de precios de Bamboo es defectuosa. No diferencia entre usuarios con compilaciones paralelas y usuarios que simplemente necesitan agentes remotos para pruebas multiplataforma. Si intenta ejecutar un pequeño servidor de compilación para Windows, Linux y Mac (tal vez incluso versiones diferentes de cada uno), el precio aumenta rápidamente a miles de dólares al año. Un mejor enfoque habría sido cobrar por compilaciones simultáneas.
Gili
La gran característica de Bamboo contra jenkins es la fusión automática de ramas para evitar la deriva entre desarrolladores en equipos. Pero, lamentablemente, solo admiten esto para GIT y Mercurial, por lo que cualquiera que use SVN o cualquier otra cosa no funcionará. Pero Jenkins tiene el complemento SVN Merge que nos permite hacerlo.
george_h
1
@george_h El complemento GIT para Jenkins ahora admite la fusión automática de ramas. No estoy seguro de cuándo se implementó esto.
slu
1
Eso es genial. De hecho, he usado bambú y jenkins y jenkins fue mucho mejor. Al final, todo es solo un servidor que ejecuta Ant + Maven.
george_h
40

No he usado Bamboo pero he usado Hudson, Cruise y TFS y de todos ellos Hudson fue sin duda el mejor. Es ridículamente fácil de configurar y tiene una GUI web realmente agradable para la configuración del proyecto. Lo bueno de Hudson es que admite prácticamente cualquier idioma y función que desee, suponiendo que alguien haya escrito un complemento para él, que probablemente tenga.

http://wiki.hudson-ci.org/display/HUDSON/Plugins

Lo usamos para ejecutar compilaciones de .NET, Java y C ++ en intervalos cronometrados, así como controles SVN con arneses de prueba automatizados y fue genial. El lugar anterior al último en el que trabajé comenzó un desarrollo de iPhone justo antes de irme y creo que también estaban usando Hudson para eso.

¡Además es gratis!

Steve Whitfield
fuente
35

Bamboo vs Hudson, a un nivel muy superficial, parece reducirse a:

  • Bambú: fácil de usar y atractivo.
  • Jenkins: rugoso en los bordes, pero mucho más flexible que el bambú

Tanto bambú y Jenkins tienen numerosos errores (que va a tener problemas), pero al menos con Jenkins que son mucho más propensos a tener una solución hasta que esté fijo. Con Bamboo, estás atascado esperando una actualización.

Gili
fuente
Habría adivinado que con Bamboo al menos tienes soporte comercial para eso.
keiki
3
@keiki, sí y no. Sí, obtiene soporte comercial, pero cuesta mucho dinero (debe preguntarse si el costo / beneficio tiene sentido). Vale la pena señalar que muchos de los problemas con los que se encontrará son causados ​​por funciones faltantes. Atlassian hará todo lo posible para ayudarlo, pero al final del día tienen recursos limitados y podría llevarles años agregar las funciones que solicita (dependiendo de su popularidad).
Gili
1
+1 para flexibilidad. Bamboo es realmente limitado para una herramienta moderna, al igual que para una herramienta CI, donde las cosas no se hacen desde cero. Además de eso, Atlassian no ha podido priorizar / manejar los errores de Bamboo de la forma en que estamos acostumbrados a trabajar con OSS.
Paddy
16

Descargo de responsabilidad: estoy trabajando con Jenkins.

En nuestra organización (bastante grande, más de 100 desarrolladores), encontramos también estas dos características muy útiles:

  1. Complemento CAS con estrategia de seguridad de proyectos matriciales
  2. Complemento de construcción de canalización
  3. Calendario de lanzamiento de LTS.

Sobre sus preguntas:

  1. Okay
  2. PLUGIN SCP o PLUGIN SSH
  3. Usamos FINDBUGS, complemento de recopilador de análisis estático, complementos de análisis de código estático, complemento de escáner de tareas
  4. Anterior en el punto 3 + complemento Jenkins DocLinks
  5. Usamos el complemento de extensión de correo electrónico Jenkins, pero también es compatible con otros sistemas, como rss, twitter publish, sms ...
  6. Estamos ejecutando en un servidor Tomcat, localmente.
  7. Si.
Federico Paolantoni
fuente
5

Bueno, no he usado Bamboo hasta ahora, pero una diferencia es que Hudson es un software gratuito / libre / de código abierto.

Pardo rojizo
fuente
10
voto negativo: esta respuesta es verdadera, pero trivial (presumiblemente, alguien que conoce ambos productos lo sabe); OP está buscando comparaciones de funciones.
Jason S
1

Si está dispuesto a pagar por ello, Anthill hace todo lo que está viendo. Lo usamos en mi empresa para nuestro equipo web y es bastante poderoso.

Manejar varios idiomas

Fuera de la caja, automatiza sus scripts existentes y administra los artefactos que producen sin importar el idioma.

Implementar artefactos en servidores (es decir, implementar la guerra si pasan todas las pruebas unitarias).

La implementación se puede agregar como un paso en su proceso de construcción. No estoy seguro de que desee implementarlo directamente en producción, pero ciertamente podría hacerlo si la gerencia dice que debe hacerlo.

También me gustaría algo que se integrara con una herramienta de cobertura de código decente.

Se integran desde el primer momento con Clover, Cobertura, Emma, ​​Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD y Sonar.

Los informes atractivos son agradables, pero no esenciales.

No estoy seguro de qué informes están disponibles, pero hay una pestaña de informes (no entro allí :-))

Múltiples mecanismos de notificación cuando las cosas van mal.

Sé que puede hacer correo electrónico (y por lo tanto sms), se integra con algunos servicios de mensajería instantánea.

No me preocupa el hosting. Lo ejecutaré en un servidor local o en una instancia de Amazon.

Vi una demostración de ellos encendiendo una sesión en la nube desde una imagen, completa con un agente para la implementación. Lo ejecutamos en un equipo Linux típico, pero sé que algunas personas lo ejecutan en un servidor VMWare.

Además, esto tal vez sea un pastel en el cielo, pero ¿hay algo que también pueda crear aplicaciones para iPhone?

Probablemente, esto se incluiría en el primero.

corsiKa
fuente