¿Cuál es el mejor servidor de integración y despliegue continuo?

Hay muchas soluciones por ahí. Puedes echar un vistazo a otras respuestas en Quora como:

  • ¿Cuáles son algunas alternativas más amigables a Jenkins / Hudson?
  • ¿Cuál es la diferencia entre Bamboo, CircleCI, CIsimple / Ship.io, Codeship, Jenkins / Hudson, Semaphoreapp, Shippable, Solano CI, TravisCI y Wercker?
  • ¿Cuál es la mejor pila de tecnología para la integración continua en proyectos de código abierto?

Si solo desea obtener una lista de herramientas, salte a esta respuesta: ¿Cuáles son las alternativas a Travis CI? ¿Hay algún servicio de CI alojado alternativo para proyectos de código abierto?

Lógicamente, depende en gran medida de sus requisitos, su pila de tecnología y el aspecto de su flujo de trabajo diario. En mi experiencia, ayuda si se hace un par de preguntas simples para determinar qué solución se adaptaría mejor a usted y sus proyectos.

  1. SaaS vs. autohospedado
    La primera decisión fundamental que debe tomar es si desea utilizar una solución alojada / SaaS o un servidor autohospedado / mantenido. Si está utilizando GitHub o Heroku, el primer grupo probablemente sea mejor para usted. Si tiene problemas de seguridad, su propio servidor instalado localmente es la mejor opción.
  2. Simplicidad versus personalización
    Las soluciones SaaS son generalmente más fáciles y sencillas de configurar, pero solo tiene un conjunto predefinido de características. Si necesita personalizar su servicio de integración continua en gran medida, una solución autohospedada podría ser la mejor opción.
  3. Software de código abierto vs. software propietario
    Puede probar sus proyectos de OSS con soluciones de CI alojadas y no alojadas. No hace ninguna diferencia en mi opinión. La ventaja de las soluciones alojadas es que no tiene que preocuparse por el mantenimiento de su servidor. La mayoría de las soluciones alojadas siguen el modelo de GitHub y usted prueba OSS de forma gratuita. Travis CI creó una solución realmente buena para satisfacer las necesidades de los proyectos de OSS (centrarse en la integración continua en lugar de la implementación continua).
  4. Integración continua versus implementación continua
    Creo firmemente en la implementación continua, en lugar de centrarme solo en la integración continua. CI es importante, pero solo el primer paso y si desea que su producto salga a la venta realmente rápido, debe automatizar todo su flujo de trabajo. Una solución de CD que funciona sin problemas es el pegamento entre todas las herramientas que ya está utilizando, especialmente su proveedor / servidor SCM y su entorno de alojamiento.

Conclusión : soy parcial ya que estoy creando una solución de CI y CD alojada. Sin embargo, si observa la tendencia de las soluciones IaaS / PaaS / SaaS, tiene sentido usar una solución alojada en lugar de una instalada localmente. Debe centrarse en crear su software y no en administrar y mantener la infraestructura subyacente. Recomiendo echar un vistazo a una de las soluciones alojadas como codeship.com o travis-ci.org.

Si desea ejecutar su propio servidor, desafortunadamente actualmente no hay mejor solución que Jenkins / Hudson.

Hay otra comparación: http://blog.thinkful.com/post/52…

Definitivamente estoy de acuerdo con Hernan aquí; existe una amplia variedad de herramientas y lo que funcionará para usted depende en gran medida de su pila de tecnología, requisitos y presupuesto.

He tenido una experiencia extremadamente buena con JetBrains TeamCity durante los últimos tres años más o menos; Dicho esto, siempre he encontrado que Hudson es extremadamente fácil de configurar y efectivo en general. Me mantendría alejado de TFS (incluso para una pila .NET) y CC.net ya que he tenido una experiencia podrida con ambos. Otra opción interesante puede ser Bamboo de Atlassian Software; No lo he usado más allá de jugar un poco con el servidor de Codehaus, pero me gustó lo que vi.

Actualización (noviembre de 2011) : después de haber trabajado con Bamboo y Elastic Bamboo a través de JIRA Studio específicamente, puedo recomendarlo como un servidor de compilación eficaz y robusto que es fácil de configurar y extremadamente bien documentado. El personal de soporte de Atlassian también ha sido de gran ayuda cada vez que me encuentro con serios problemas. (la pila actual incluye Ant, Java, Scala y Subversion; pronto migraremos de Ant a sbt y de Subversion a git / Mercurial, en cuyo punto agregaré otra actualización).

Existen muchas herramientas de integración continua móvil que lo ayudan a automatizar el proceso y muchas razones por las que debería invertir en una, incluida la reducción de la cantidad de errores , errores , riesgo de refactorización y costos de defectos, así como un aumento general en la velocidad de su desarrollo a los ciclos de implementación. También hay varias cosas que deben tener en cuenta en su decisión sobre cuál de las herramientas de integración continua debe utilizar , incluidas las características , el alojamiento , el soporte , las integraciones proporcionadas, los precios y más.

Al final, todo se reduce a cuál se adapta mejor a sus necesidades. Consulte la publicación de blog a continuación para obtener una lista de las principales herramientas de integración continua móvil para elegir.

Las mejores herramientas de integración continua móvil (CI / CD) en 2018

La comunidad de usuarios reales en nuestro sitio, IT Central Station, tiene algunas respuestas interesantes a esa pregunta. A medida que realiza su investigación sobre estas herramientas, puede resultarle útil ver lo que dicen otros usuarios.
Aquí hay algunos extractos útiles:

Jenkins vs. TeamCity : “La mayor diferencia en la inspección inicial es que TeamCity está mucho más enfocado en validar las confirmaciones individuales en lugar de ciertos tipos de pruebas. La página principal de Jenkins presenta información que simplemente no es útil en un entorno de desarrollo no lineal, donde la gente a menudo trabaja en direcciones muy diferentes. Generalmente, considero que TeamCity es mucho más intuitivo que Jenkins “. Lea el resto de la revisión aquí: Revisión de Jenkins vs. TeamCity

Otro crítico comparó Travis vs. Bamboo vs. Jenkins / Hudson : “Mis preferencias por Jenkins y Travis sobre Hudson y Bamboo se basan más en detalles que en grandes diferencias. Uno no puede decir que alguno de ellos es claramente mejor que el otro. A menudo es una cuestión de elección personal, tipo de proyecto o lo que estamos acostumbrados. Para nuevos proyectos, Travis es mi favorito y lo uso ampliamente “. Lea el resto de esta comparación informativa aquí: Revisión de Jenkins vs. Travis vs. Bamboo

Por último, otro crítico escribe sobre Jenkins que es una “comunidad de código abierto con muchos complementos y flexibilidad como plataforma de automatización. Mejoras para mi organización: en lugar de enviar correos electrónicos y tickets, podemos entregar” botones “a los equipos para que puedan hacerlo -servicio para acciones que solían implicar un esfuerzo manual del grupo Operaciones “. Lea la reseña completa de Jenkins aquí: Revisión de Jenkins

¡Buena suerte con tu investigación!

Esta es una pregunta muy complicada. Depende principalmente de cuáles son sus parámetros para definir “mejor”.

Mencionaré algunos de los servidores con los que tengo experiencia en diferentes capacidades y cuáles son mis opiniones, pero en cualquier caso, debe hacer su propia investigación.

CC.net: bastante fácil de configurar. La configuración a través de xml está bien. Algunos buenos complementos. Usé mucho y estuve muy contento con él en general. Especialmente si no vas a crear nuevos proyectos muy a menudo. Una vez que configura el servidor, rara vez necesita hacer ningún cambio.

Jenkins (anteriormente conocido como Hudson): servidor CI autónomo, toneladas de complementos, superfácil de configurar una grilla.

TeamCity (versiones gratuitas y comerciales): con mucho, la más fácil de configurar y administrar. La interfaz de usuario es fantástica. Hay un montón de complementos por ahí y viene con varios elementos imprescindibles ya en la caja.
Si necesito comenzar hoy, este es probablemente el que elegiré.

No veo nada sobre Snap CI aquí. Snap es una herramienta de CI alojada basada en la nube que permite canalizaciones de etapas múltiples. (descargo de responsabilidad, ya que trabajo para Snap)

Voy a incluir una respuesta parcial de una publicación diferente solo porque es muy completa.

SnapCI (Integración continua que vive y funciona en la nube) se basa en la funcionalidad de CI para ser la única herramienta que ofrece a los equipos una canalización de implementación completa para realizar Entrega continua (CD).

  • La integración y la implementación continuas son una herramienta fantástica de CI con un buen soporte para la integración de Docker y también el soporte de Github Enterprise.
  • La integración continua que vive y funciona en la nube tiene una tubería de implementación fácil de usar que es fundamental para la entrega continua, además de la paralelización de prueba transparente y cuadros de construcción de tamaño personalizado.
  • Barco | Ship Apps Faster es realmente solo para dispositivos móviles, pero también son buenos en ese espacio.
  • Entrega continua con código: rápido, seguro y totalmente personalizable. se enfoca en tener buen contenido además de la herramienta
  • Wercker: el desarrollo impulsado por la automatización tiene un buen espacio de estilo de “mercado” para cajas pre-creadas
  • Buildbot le permite ejecutar sus compilaciones en su propio hardware.

Casi todas las herramientas ofrecen una prueba gratuita para repositorios privados. Cualquiera de ellos debería ofrecer compilaciones impuestas sin límites sin restricciones para el trabajo OpenSource, porque eso es moralmente lo correcto. Mi consejo sería ver cada una de estas herramientas con la lente correcta.

Espero que eso ayude a agregar un poco más de profundidad a la lista en lugar de verlos a todos como básicamente lo mismo.

Nuestro equipo prefiere TeamCity (Integración continua para todos) ya que:

  • soporta nuestro querido PHP
  • está disponible como versión gratuita
  • tiene más de 100 complementos útiles
  • proporciona integración con IDE (IntelliJ, Eclipse, Visual Studio)
  • Es agradable en términos de diseño.

También puede consultar una breve descripción general de otras herramientas – Jenkins, Travis, phpUnderControl aquí – Integración continua con TeamCity y Behat

(Descargo de responsabilidad: trabajo en Atlassian y uso Bamboo).

Puede depender de dónde se encuentre con CI. Si lo está probando por primera vez o solo necesita una automatización de compilación muy básica, entonces Jenkins podría satisfacer sus necesidades.

Si está buscando pasar de esa etapa rudimentaria a una tubería de entrega continua, o llevar sus prácticas de CI a todas sus ramas de desarrollo, eche un vistazo a Bamboo. Está disponible para instalar localmente o como un servicio alojado. Y como es una herramienta de Atlassian, la integración con JIRA y Stash es de primera categoría.

Más información: http://www.atlassian.com/softwar

Hola. Estoy en el equipo de Customer Success en Solano Labs, y ofrecemos una solución de CI y CD, Solano CI.

Dado que “lo mejor” realmente depende de lo que está tratando de lograr, creo que la respuesta de Moritz hace un buen trabajo al sentar las bases para reducir las opciones y proporcionar un marco para pensar qué solución es mejor para usted. Los enlaces que proporcionó también deberían ayudar a cualquiera que quiera explorar cuál es la mejor solución de CI / CD para ellos.

Sin embargo, hay un área en la que no estamos de acuerdo: la simplicidad no siempre se opone a la personalización. Por ejemplo, Solano admite una amplia variedad de funciones, incluidas versiones específicas, simplemente agregándolas en su archivo de configuración. ( Documentos relevantes: Referencia del archivo de configuración y página en solanolabs.com) Y para obtener más funciones esotéricas, puede instalarlas como parte del proceso de configuración previa.

¡Aclamaciones!

Hemos utilizado tanto Jenkins como TeamCity para hacer compilaciones .Net que se ejecutan en un servidor Windows. Jenkins es bastante capaz desde el primer momento, pero TeamCity tiene una serie de buenas características de interfaz de usuario que hacen que administrarlo sea mucho más fácil.

En última instancia, TeamCity hace más de lo que necesito hacer con menos molestias y mejores informes y gestión de artefactos. Se sale de mi camino y me permite continuar con el negocio de desarrollar y probar software.

He tenido una experiencia satisfactoria en el uso de Bamboo de Atlassian y Jenkins en los últimos 6.5 años de uso de CI a gran escala (en los más de 30 equipos más grandes en el mismo producto con uno y 18 equipos en el otro). Ambos pueden ser buenos para usted: Jenkins tiene más complementos y soporte de código abierto. Con cualquiera de los dos, es probable que necesite adiciones cuando se use en un entorno grande (muchos equipos trabajan en el mismo tema), especialmente para irradiar la información que necesita de manera concisa, útil para todos los interesados. Tuve que hacer eso para los dos productos … Desafortunadamente no tuve tiempo de abrir el trabajo del radiador.

Atlassian OnDemand, y en particular Atlassian Bamboo OnDemand:

Haga clic aquí para obtener más información o registrarse en 5 minutos.

Como bonificación, también puede incluir JIRA, JIRA Agile, Confluence, BitBucket (para git o Mercurial) y más.

Si está buscando ejecutar su propio servidor, Jenkins y Hudson siguen siendo los mejores. Utilizo CircleCI y Codeship a menudo para automatizar compilaciones si buscas más de una solución fuera de las instalaciones.

LaunchDarkly ofrece una solución local si está buscando una plataforma de gestión del ciclo de vida o una solución administrada en sus propios servidores. Esto no reemplazaría las herramientas de automatización de implementación, pero podría ser un buen complemento.

ElectricFlow también es una gran herramienta para pagar para la automatización de DevOps / entrega continua.

AGC es el integrador de soluciones globales que proporciona servicios de integración de tecnología, servicios de seguridad cibernética, etc. Todos estos servicios son beneficiosos para el crecimiento de su negocio, lo que lo lleva al imperio del éxito. debe seleccionar AGC Networks para la integración continua y el servidor de implementación, incluida la infraestructura de TI de red segura, la infraestructura de nube o las soluciones de seguridad de red y más.

Estoy teniendo una experiencia muy agradable con Shippable. Proporciona integración y despliegue continuo junto con todas las pruebas e informes de cobertura. También es más barato que otros proveedores.

Jenkins, me gusta, GO CD ahora que es de código abierto podría ganar un poco de tracción si se desarrolla una mejor interfaz de usuario para ello.

Cloudbees también ofrece Jenkins como un servicio en la nube.

También me gusta el travis, ya que me topé con él hace unos meses. travis-ci es un servicio en la nube y es bastante bueno para construir un directorio de código desde un repositorio de git hub y publicar el estado nuevamente en el repositorio.

Configura el entorno de compilación y los comandos y luego inicia un vm compila el código y publica los resultados (usando docker, creo). Tiene soporte para muchas plataformas e idiomas y probablemente sea una buena opción para un proyecto de código abierto.

Cuando desee un mayor control de su servidor de compilación, optaría por Jenkins o Go y hay un montón de complementos geniales para implementar en sus propios entornos y ejecutar pruebas. Tampoco puede vencer al plugin Chuck Norris Build Status

Tengo una aplicación web de Python con el código fuente en github. He vinculado esto con Travis CI para realizar una integración continua y pruebas continuas. Tengo un Ubuntu VPS en AWS en el que he alojado la aplicación en vivo en línea usando el servidor Apache HTTP. Mi pregunta es, ¿cómo configuro Travis para implementar continuamente mis actualizaciones en el repositorio de github en mi aplicación en mi Ubuntu VPS en AWS? en este momento solo tengo integración entre Travis CI y mi código de repositorio github, ¿cómo puedo configurar la implementación automática de mi código en mi servidor Ubuntu en AWS, por favor?

Tu podrías intentar
1. circleci – Integración continua y despliegue
2. travis – Plataforma de integración continua alojada gratuita para la comunidad de código abierto
3. Codeship: integración continua alojada y despliegue continuo. El código.

Para la mayoría de las personas, es probable que desee un servidor alojado de integración continua, por lo que algo así como https://circleci.com . Eso le permite centrarse en la codificación, en lugar de mantener un servidor o un conjunto de servidores, y maneja cosas como la velocidad y el soporte.

Esta será la segunda vez que respondo a favor de un producto JetBrains, así que estoy seguro de que saldré como un poco, pero TeamCity para el desarrollo .NET es el claro ganador. No puedo hablar de su uso en otros idiomas, pero sé que maneja muchos escenarios diferentes. Es extremadamente fácil de usar y configurar para los escenarios más avanzados. Lo configuré en 2 compañías diferentes ahora y estaba muy contento con eso.