java - travis - Bamboo vs. Hudson(también conocido como Jenkins) vs Cualquier otro sistema de IC
puerto bamboo atlassian (6)
Bamboo vs Hudson, en un nivel muy superficial, parece reducirse a:
- Bambú: fácil de usar y atractivo
- Jenkins: Áspero alrededor de los bordes, pero es mucho más flexible que Bamboo
Tanto Bamboo como Jenkins tienen numerosos errores (te encontrarás con problemas) pero al menos con Jenkins es mucho más probable que tengas una solución hasta que se solucione. Con Bamboo, estás atascado esperando una actualización.
¿Alguien tiene experiencia con Hudson y Bamboo? ¿Alguna idea sobre las fortalezas y debilidades relativas de estos productos?
Está bien, ya que la gente sigue mencionando otros productos de CI, lo abriré más. Aquí está mi problema general. Quiero configurar un sistema de CI para un nuevo proyecto. Es probable que este proyecto tenga componentes de Java (WAR y JAR), algunos módulos de python y posiblemente incluso un componente .NET. Entonces quiero un servidor de CI que pueda:
- Manejar múltiples idiomas,
- Implementar artefactos en los servidores (es decir, desplegar la guerra si todas las pruebas unitarias pasan).
- También me gustaría algo que se integre con una herramienta de cobertura de código decente.
- Los buenos informes son agradables, pero no esenciales.
- Múltiples mecanismos de notificación cuando las cosas van mal.
- No estoy preocupado por el hosting. Lo ejecutaré en un servidor local o en una instancia de Amazon.
- Además, esto puede ser un pastel en el cielo, pero ¿hay algo que también pueda construir aplicaciones para iPhone?
Bueno, no he usado Bamboo hasta el momento, pero una diferencia es que Hudson es software libre / libre / de código abierto.
No he usado Bamboo, pero he usado Hudson, Cruise y TFS, y de todos ellos Hudson fue sin dudas 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 es compatible con casi cualquier idioma y función que desee si se supone que alguien ha escrito un complemento para él, que probablemente tenga.
http://wiki.hudson-ci.org/display/HUDSON/Plugins
Lo usamos para ejecutar compilaciones .NET, Java y C ++ en intervalos cronometrados, así como checkins SVN con arneses de prueba automatizados y fue genial. El lugar antes de la última vez que trabajé comenzó un desarrollo de iPhone justo antes de irme y creo que también usaron Hudson para eso.
¡Además es gratis!
Si está dispuesto a pagar, Anthill hace todo lo que está mirando. Lo usamos en mi empresa para nuestro equipo web, y es bastante poderoso.
Manejar múltiples idiomas
Fuera de la caja, automatiza sus secuencias de comandos existentes y gestiona los artefactos que producen sin importar el idioma.
Implementar artefactos en los servidores (es decir, desplegar la guerra si todas las pruebas unitarias pasan).
La implementación se puede agregar como un paso en su proceso de compilación. No estoy seguro de que quiera implementarlo directamente en la producción, pero sin duda podría hacerlo si la gerencia dice que tiene que hacerlo.
También me gustaría algo que se integre con una herramienta de cobertura de código decente.
Se integran de inmediato con Clover, Cobertura, Emma, Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD y Sonar.
Los buenos informes son agradables, pero no esenciales.
No estoy seguro de qué informes están disponibles, pero hay una pestaña de informes (no voy allí :-))
Múltiples mecanismos de notificación cuando las cosas van mal.
Sé que puede hacer un correo electrónico (y, por lo tanto, un sms), se integra con algunos servicios de mensajería instantánea.
No estoy preocupado por el hosting. Lo ejecutaré en un servidor local o en una instancia de Amazon.
Vi una demostración de ellos disparando una sesión de nube desde una imagen, completa con un agente para la implementación. Lo ejecutamos en una caja típica de Linux, pero sé que algunas personas lo ejecutan en un servidor VMWare.
Además, esto puede ser un pastel en el cielo, pero ¿hay algo que también pueda construir aplicaciones para iPhone?
Esto caería bajo el primero, probablemente.
Descargo de responsabilidad: estoy trabajando con Jenkins.
En nuestra organización (bastante grande, más de 100 desarrolladores), también encontramos estas dos características muy útiles:
- Complemento CAS con estrategia de seguridad de proyecto matriz
- Construir el plugin Pipeline
- Horario de lanzamiento de LTS
Sobre tus preguntas:
- DE ACUERDO
- SCP PLUGIN o SSH PLUGIN
- Usamos FINDBUGS, Plug-in de recopilador de análisis estático, Plug-ins de análisis de código estático, Complemento de escáner de tareas
- Anterior en el punto 3 + complemento Jenkins DocLinks
- Usamos el complemento de extensión de correo electrónico de Jenkins, pero también es compatible con otros sistemas, como rss, twitter publish, sms ...
- Estamos corriendo en un Hosting Tomcat, localmente.
- Sí.
Descargo de responsabilidad: trabajo en Bamboo y, por lo tanto, no voy a comentar las características de otros productos de CI ya que mi experiencia con ellos es limitada.
Para responder a sus requisitos específicos:
Manejar múltiples idiomas
Bamboo tiene soporte listo para usar para múltiples 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 los servidores (es decir, desplegar la guerra si todas las pruebas unitarias pasan).
Bamboo 2.7 es compatible con Build Stages, que le permite dividir su construcción en una etapa de prueba de unidad y una etapa de implementación. Solo si la Etapa de prueba de la unidad tiene éxito, la construcción pasará a la Etapa de implementación. En Bamboo 3.0 apoyaremos el intercambio de artefactos entre etapas, lo que le permite crear un artefacto (por ejemplo, su guerra) en la primera etapa y utilizar este artefacto en las siguientes etapas para probar e implementar.
También me gustaría algo que se integre 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 buenos informes 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 notificarte por correo electrónico, RSS, mensajería instantánea, un complemento IDE o un bonito panel de pared visible para todo el equipo.
No estoy preocupado por 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 de CI. Pero si necesita escalar, Bamboo facilita la distribución de sus construcciones a agentes locales adicionales o escala a Amazon a través de agentes elásticos.
Además, esto puede ser un pastel en el cielo, pero ¿hay algo que también pueda construir aplicaciones para iPhone?
De forma similar a la respuesta a su primera pregunta, la mayoría de los servidores de CI podrán crear aplicaciones de iPhone de alguna manera. Sin embargo, es posible que haya un poco más de scripting.
Precio: Bamboo no es gratuito (aparte de nuestra licencia inicial gratuita) / libre / open-source, pero obtendrá el código fuente de Bamboo si compra una licencia comercial y soporte completo. Comparado con el costo de la potencia de cálculo y el mantenimiento potencial requerido para un servidor de CI, el costo de una licencia de Bamboo es bastante pequeño.
Espero que esto ayude.