integración integracion importancia esquema continua beneficios ambiente java continuous-integration

java - integracion - Servidores de integración continua



integracion continua pipeline (30)

¿Por qué no usa un servicio de CI alojado? Entonces no tiene que preocuparse por el mantenimiento, los costos, etc.

MikeCI es un servicio alojado de CI que aloja sus compilaciones en Amazon EC2 y por tan solo $ 10 por mes es muchísimo más barato que mantener su propio servidor de CI.

Darle una oportunidad.

Mi compañía está considerando cambiar los servidores de integración continua (no diré cuál tenemos ahora, así que no voy a sesgar sus respuestas de todos modos :)) Me pregunto si alguien tiene alguna recomendación. Mejor experiencia de usuario, nivel de dificultad para mantener, etc.

Nuestro código está todo en Java, y usamos ANT como una herramienta de compilación.


Administré tanto Bamboo como Hudson, y recomendaría Hudson.

Ambos son geniales, pero Hudson tiene mejor soporte de informes, por ejemplo, la publicación de informes de cobertura, etc. es mucho más fácil dentro de Hudson.

Es probable que esto cambie en el futuro cercano, pero a pesar de la integración de Bamboo con JIRA, etc. y sus estadísticas, Hudson, por su facilidad de uso y soporte de terceros, es mejor independientemente de la cantidad de dólares (es gratis, Bamboo no) .


Al igual que otras personas aquí, realmente amo a Hudson .

Es extremadamente fácil de instalar (es solo un archivo de guerra para implementar), para configurar y usar. Además, ofrece muchas funcionalidades que no siempre están disponibles en otros sistemas (matriz de construcción, maestro y esclavos, seguridad en el servidor o nivel de proyecto ...)

La cantidad de plugins existentes es bastante importante ahora, y crear su propio plugin no es tan difícil ...

Para finalizar, esta aplicación evoluciona muy rápido: actualmente estamos en la versión 257. ¡Han lanzado más de 100 lanzamientos desde un año!

Para los franceses, escribí una guía bastante completa para usar Hudson here .


Atlassian''s Bamboo ve bien pero no tengo ninguna experiencia con él. Parece ser similar en características a Cruise o TeamCity .


Bamboo funciona genial; si tiene efectivo, lo recomendaría. Cruise Control vale su precio; Nunca he sido capaz de descubrir de manera confiable que se realizaron y crearon cambios en la fuente, ni tampoco he podido construirlo manualmente. La interfaz y la configuración son terriblemente complejas.


Creo que seré el primero en mencionar Luntbuild . Aparte del nombre poco llamativo, es un gran servidor de CI.

  • Súper fácil de instalar.
  • IU web para crear / administrar tus proyectos y usuarios
  • Soporte para MUCHOS sistemas de control de versiones (lo he usado con CVS, SVN y StarTeam)
  • API remota bastante elegante
  • Una granularidad relativamente alta para el control de acceso (para que pueda otorgar a los clientes acceso solo a sus compilaciones, y no a las compilaciones de sus clientes)
  • y mucho, mucho más.

Mira la demostración en vivo . cuenta / contraseña demo / demo

Nota: La demostración en vivo es un par de versiones atrás.


CruiseControl.NET es mucho más efectivo en los cuadros de Windows que en el original basado en Java. Especialmente cuando el servidor de compilación dedicado aún no está disponible.


De los pocos que he usado, Buildbot destaca como el más poderoso y flexible. Sin embargo, no es lo más bonito si eso te importa.


El año pasado en una conferencia en los EE. UU. Escuché por primera vez sobre Cruise Control .net en una presentación de 1 hora, en mi camino a casa en la llanura decidí implementar un pequeño POC para nuestra empresa y lo logré en menos de 5 horas ( incluyendo todo el aprendizaje que podría haber hecho).

Lo estoy usando desde entonces y debo decir que estoy muy satisfecho con los resultados y la facilidad de operación. Hay algunos inconvenientes (por ejemplo, falta de distribución de la tarea en la escala de servidores aunque se pueden monitorear varios servidores) encontré un error en una de las implementaciones y porque es una fuente abierta, podría haberlo solucionado muy rápido (gran ventaja) - creé un pequeño [proyecto] [1] en Codeplex para contener mis correcciones antes de contribuir a la comunidad como un check-in Te recomiendo encarecidamente que mires esta plataforma, también sería bueno si pudieras decir lo que realmente necesitas.

[1]: http://www.codeplex.com/DavidovitzCCE proyecto


Es posible que desee mirarlo también

http://www.thoughtworks-studios.com/solutions/deployment-management http://www.thoughtworks-studios.com/solutions/deployment-management

La solución ThoughtWorks Deployment Management combina la potencia de Twist (pruebas ágiles) con Go (gestión de versiones).

  • Twist captura los requisitos para ser probado directamente de usuarios de negocios
    y luego admite su automatización como pruebas a largo plazo que evolucionan con la aplicación.
  • Go ayuda a desarrolladores de equipos de operaciones de desarrollo y TI
    procesos y despliegue de software
    repetible y confiable.

Estamos usando Zutubi Pulse y funciona muy bien para nosotros. Es muy fácil de usar y tiene muchas funciones avanzadas.


Estoy feliz con el Bamboo . Miré varias soluciones gratuitas antes de decidirme.


Hemos estado usando Automated Build Studio y hemos estado muy contentos con eso. Es una aplicación de Windows, por lo que está atrapado en un servidor de compilación de Windows, pero en el lado positivo es muy fácil de configurar, mantener y usar. Usted crea su proceso a partir de componentes mediante el punto y el clic, y puede usar scripts si ninguno de los componentes satisface sus necesidades.


Hemos usado Cruise Control con resultados decentes. Desde entonces, hemos comenzado a usar Maven para la herramienta de construcción en todos nuestros proyectos. Con eso vino el cambio a Hudson para CI, que es muy bueno. Si crees que un cambio a Maven podría ser en tu futuro, lo recomendaría. Creo que incluso se puede usar Hudson para llamar a las tareas Ant, aunque una envoltura Maven podría estar en orden.

Hudson


Jetbrains TeamCity veía realmente bien cuando lo miramos. Está basado en Java, por lo que debería ser fácil para su equipo extenderse, y puede hacer compilaciones distribuidas, etc. Existe una versión gratuita que puede evaluar.


Mira nuestro Parabuild . En comparación con las herramientas gratuitas, es muy fácil de configurar y su costo de mantenimiento es cercano a cero. no es gratis, pero obtienes lo que pagas.


Recientemente implementé un servidor Hudson . Después de haber usado Cruise Control anteriormente, estoy muy satisfecho con Hudson y muy impresionado por su facilidad de configuración y uso. Agregar nuevos proyectos es infinitamente más fácil que con Cruise Control.


Si está utilizando el software del personal de Atlassian (p. Ej., Jira, Clover, etc.), Bamboo es su método.

Lo usamos por un par de meses y puedo recomendarlo. Vale la pena su dinero.


Solo una palabra sobre la Matriz de características de integración continua : no fue recopilada por la gente de CruiseControl, se inició en CodeHaus mediante el proyecto DamageControl y se trasladó a la wiki de CruiseControl cuando DamageControl entró en hibernación. La información la mantienen en gran medida los propietarios del proyecto / producto o sus admiradores.


También he estado investigando esto y, aunque al principio estaba mirando CruiseControl, escuché cosas buenas sobre Hudson y decidí probarlo. Estoy completamente impresionado por lo fácil que fue comenzar (solo descargar y ejecutar) y la configuración se realiza a través de la GUI, por lo que no hay ningún problema con los archivos de configuración XML.

En cuestión de minutos, realicé mi primera construcción Ant. Ahora lo tengo funcionando como un servicio de Windows en un servidor que está disponible las 24 horas, los 7 días de la semana, tanto en la oficina como a través de VPN. La actualización es tan simple como descargar el nuevo archivo war y reiniciar.

El soporte para los informes junit está fuera de la caja. Instalar complementos adicionales también es muy fácil y he agregado complementos para Trac, Cobertura, FindBugs y PMD. La calidad de los códigos y las pruebas está aumentando, ¡y es muy satisfactorio ver que los gráficos de tendencias están subiendo!

Ahora lo uso para administrar todas mis compilaciones para entornos de prueba y producción. Como administro varias aplicaciones web, esto me da más tiempo para gastar en programación. Honestamente, no puedo recordar cómo me las arreglé sin eso.


También usamos Hudson y, si no fuera por la recesión, probablemente usaríamos Bamboo y la mayoría de los productos Atlassian (Bamboo, Crucible, Confluence) junto con JIRA.


Thoughtworks Cruise es la descendencia comercial del proyecto de código abierto CruiseControl . Se ve muy bien, muchas características, construcciones distribuidas, etc. No sé lo que es extensibilidad.


Una organización que administro (openqa.org), en un momento u otro, ha usado casi todos. En términos de configuración fácil, ve con TeamCity o Bamboo. Pero en términos de confiabilidad general, es posible que desee ver a Hudson. Realmente me gusta JetBrains, pero descubrimos que TeamCity llega a estados extraños después de un tiempo, lo que hace que nuestras construcciones sean muy poco confiables. ¡Qué lástima, ya que amo IDEA!


Usamos StarTeam y entre Hudson y CruiseControl.NET, CC.NET tiene algunos errores al integrarse con StarTeam. No parece reconocer el espacio de trabajo que definimos en los archivos de configuración.


Usamos el Control de Cruceros . Tiene todas las características que queremos y fue muy fácil de configurar. La integración con ANT y SVN está bien.

Con: de vez en cuando tenemos que reiniciar el proceso o la máquina, ya que deja de enviar mensajes para la compilación nocturna. No estoy seguro de qué se trata, pero es molesto.


Yo uso Continuum para mi servidor de integración continua. No había otra razón más que contratar a un gerente de desarrollo que había utilizado en su última tarea, por lo que parecía tener sentido elegir algo que al menos uno de nosotros tenía experiencia.

Antes de elegir Continuum, un desarrollador junior pasó dos semanas tratando de hacer que CruiseControl funcione. Sin embargo, tenemos Continuum 1.0 para ejecutar primero ir.


como es habitual en el mundo de Java, existe el mundo del código abierto y el mundo comercial.

Ya hemos visto una cobertura bastante buena de las diversas ofertas.

Hudson: No conozco ninguna otra oferta de servidor Java que sea tan fácil de evaluar. java -jar hudson.war: ¿qué tan fácil puede ser eso? NO solo puede usarlo en Windows, puede usarlo en todas las plataformas java usuales. Ant, Maven y un host de otras plataformas de compilación son compatibles.

Lo mejor de Hudson es la capacidad de plug-in. Se está desarrollando casi continuamente. Usted solicita una función y no tardará mucho en completarse.

Normalmente no me gusta sonar como un fanboy, pero esta aplicación / desarrollador / comunidad me impresiona.

BR,
~ A


Editar: Usamos Hudson ahora.

Hace un tiempo estudié un montón de estos con los siguientes requisitos:

  • Código Java
  • Compilaciones de Ant
  • Groovy compila
  • Construcciones distribuidas
  • Integración del disparador SCM
  • Informes http
  • informes smtp

La Matriz de características de integración continua es un gran lugar para comenzar.

Terminé seleccionando AnthillPro y lo estoy usando con éxito, solo rasguñando la superficie de lo que podemos y espero usarlo.


Si no está completamente vendido en Hudson, una prueba de manejo de un clic debería cambiar de opinión.

Haga click abajo:

https://hudson.dev.java.net/hudson.jnlp

Esto lanzará Hudson a través de Java Web Start para una prueba de manejo. Una vez que se inicia, visite http://localhost:8080/ para llegar al panel. Cualquier configuración que haga con este Hudson se almacenará en ~ / .hudson, por lo que sus datos sobrevivirán a través del reinicio del proceso de Hudson.

Si está utilizando herramientas bastante estándar como svn y ant / maven, debería tener una compilación y ejecución en 5 minutos. ¡Diferentes herramientas y podría tomar 20 minutos!

Vea una introducción aquí:

http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson


Considere un servicio alojado gratuito de CI en fazend.com . Es compatible con ant .