2010-12-01 22 views
7

¿Alguien tiene algún comentario sobre uno frente al otro?thoughtworks go vs atlassian bamboo

Estamos intentando tratar de automatizar nuestro proceso de lanzamiento, desde el desarrollo de pruebas hasta la producción, incluidas pruebas de unidad en ejecución, revisiones de código y aplicación de permisos sobre quién puede impulsar construcciones desde UAT hasta la producción.

+0

la etiqueta go se refiere al lenguaje de programación Go. – peterSO

+1

Vote solo por el nivel de las personas que lo respondieron :) – Spedge

Respuesta

4

Exención de responsabilidad: yo soy el responsable de producto de bambú

@Bernard: ¿Podría dar algunos detalles más alrededor de su proceso?

  • ¿Se pone a prueba la UAT pruebas manuales?
  • ¿Qué significa impulsar su producción en su caso?
  • ¿Espera un único resultado de compilación al final de su implementación?

Bamboo 2.7 es nuestra primera versión que le permite dividir su estructura en diferentes etapas y ejecutar trabajos dentro de etapas en paralelo. Esto puede mejorar significativamente el tiempo total de respuesta de tus Builds. Actualmente estamos trabajando en el artefacto de paso, que le permitirá pasar artefactos de construcción entre las diferentes etapas. De nuevo, esto reducirá el tiempo total de compilación y es otro paso importante hacia un proceso de Implementación Continua.

Lamentablemente, actualmente no contamos con una buena manera "lista para utilizar" para hacer cumplir los permisos en ciertas partes de la compilación. Una vez más, hay formas de evitar esto con complementos y configurando su compilación de cierta manera. Pero es difícil brindar sugerencias sin conocer su proceso en más detalles. Si está dispuesto a compartir los detalles de su proceso con nosotros, me gustaría hablar con usted en persona (jens en atlassian.com).

@jgritty: Los problemas que está señalando se conocen parcialmente los problemas con nuestra integración Perforce y parecen ser parcialmente errores desconocidos. No dude en crear una solicitud de soporte en support. @ Atlassian.com o generar un informe de error en jira.atlassian.com.

Dado que Perforce se utiliza con menos frecuencia (en comparación con CVS & SVN) entre los usuarios de Bamboo, generalmente obtenemos menos comentarios al respecto y escuchamos menos sobre los problemas existentes. Por favor, plantee problemas directamente con nosotros y haremos nuestro mejor esfuerzo para solucionarlos en uno de nuestros próximos lanzamientos.

Saludos,

Jens Schumacher

+0

http://jira.atlassian.com/browse/BAM-7499 Lo voté. Estoy bastante seguro de que puse una falla similar hace 18 meses, pero esta es lo suficientemente buena. Como mínimo, sería útil que el error contuviera el directorio que no pudo crear, pero supongo que si supiera que probablemente solo podría crearlo. – jgritty

+0

También aprendí cómo crear a partir de una etiqueta, y estoy ansioso por probarlo a partir de este informe de errores: http://jira.atlassian.com/browse/BAM-1684 Aparentemente, los documentos no se han actualizado para reflejar esto. aún, o lo extrañé. – jgritty

+0

¡Aléjate de Bamboo! ¡Está lleno de errores! su 'despliegue' ni siquiera funciona ... ¡tienes que iniciarlo manualmente! – themihai

3

Nunca he oído hablar de Go, pero puedo decir que Bamboo tiene algunos caprichos severos. Dependiendo de su sistema de control de fuente, su millaje puede variar.

Se necesita un enfoque de denominador menos común para tratar con todos los SCM a los que se conecta, por lo que para nosotros el uso forzado, perdemos algunas cosas que deberíamos obtener de forma gratuita.

Aquí hay un par de las cosas molestas que todavía no se han fijado:

instalación de un agente de compilación de usar un cliente en particular (ya debe existir, por supuesto, GRR). Supongamos ahora que el cliente está rooteado en c: \ buildarea. DEBE crear manualmente la carpeta c: \ buildarea, de lo contrario, el agente le dará un error ridículo acerca de no poder extraer los archivos a la raíz del cliente. Obviamente, 'p4 sync -c YOURCLIENT' haría eso, pero Bamboo hace algo más tonto.

Otra cosa que no puede hacer es construir correctamente a partir de una etiqueta existente. Supongamos que tiene una compilación de plataforma cruzada y desea construir say linux y windows de la misma lista de cambios/etiqueta exacta, no hay una manera trivial de hacerlo en Bamboo. Puede disparar las construcciones al mismo tiempo y orar. Puedes sincronizar los archivos para el otro, pero no hay forma de construir usando una etiqueta.

Una última cosa que es un poco tonto (pero no terrible) es la forma en que supone que todo el mundo usa CVS en la forma en que 'crea etiquetas'. Cuando una compilación contiene una gran cantidad de listas de cambios, en lugar de simplemente llamarla lista de cambios y numerarla una vez, enumera la "versión n.º" para cada archivo en una lista de cambios. Obviamente, no es un factor decisivo, solo un poco extraño para los usuarios de p4.

En general, ninguno de estos problemas nos ha matado, y lo usamos para varios cientos de compilaciones por día, y tenemos en algún lugar del orden de 200 planes de compilación activos en un momento dado. Estoy seguro de que podría pensar en otros problemas, pero se han abordado muchas cosas.

+0

Recuerdo una preocupación más. Es la razón por la que no utilizamos LDAP en toda la empresa para las cuentas de Bamboo: http://jira.atlassian.com/browse/BAM-1199 La solución obvia es usar LDAP desde el principio, ya que puede migrar hacia él en el futuro es un gran dolor de cabeza. – jgritty

3

@Bernard: Trabajo en ThoughtWorks y tienen mucho más experiencia en el uso Go (Cruise) de bambú, así que sólo voy a dar información sobre direcciones Ir ahora la consulta

  1. "Estamos pensando en tratar de automatizar nuestro proceso de liberación de la dev en la prueba en la UAT en producción": Modelización y automatización de su proceso de liberación de la totalidad de el camino de las tuberías de despliegue ha sido conceptualizado por Go y ha existido desde sus versiones anteriores (anteriormente llamado Cruise). Las líneas de despliegue dividen una compilación compleja en una serie de etapas que en sí mismas son una colección de trabajos. Las etapas se pueden activar de forma manual o automática. También es bastante fácil ver y controlar el flujo de cambios a medida que se propagan a través de los entornos desde la propia interfaz de usuario del panel de instrumentos. Aquí hay un ejemplo detallado de implementación automática en UAT (http://www.thoughtworks-studios.com/go/2.0/help/rm_deploy_to_environment.html).
  2. "incluyendo pruebas de unidades de ejecución, con revisiones de código": Go le permite dividir suites de prueba y ejecutarlas en paralelo. También obtienes un informe completo con los rastros detallados de los trabajos que han fallado, las pruebas que han fallado, el check-in rompió las pruebas, etc., y las alertas por correo electrónico para los eventos de compilación que elijas. Ir también auto-publica artefactos y estos se pueden ver desde el informe en sí. Esto es bastante útil al detectar una compilación. En Go, es muy sencillo implementar el trinquete (http://skizz.biz/blog/2008/03/11/fixing-broken-windows-with-ratcheting/), por lo que puede fallar las compilaciones que no cumplan con su codificación umbrales de estándares.
  3. "y aplicar los permisos sobre quién tiene permiso para enviar construcciones desde UAT a producción": Puede controlar el acceso a proyectos y entornos con permisos de visualización y operación agrupando las tuberías. Además, puede bloquear quién puede activar una construcción.

A diferencia de muchas herramientas en el mercado, Ir proporciona visibilidad en las relaciones entre disparada construye, modelado medio ambiente, la agregación de los resultados de compilaciones paralelas, facilidad de artefactos de auto-publicación, y los agentes de generación automática de actualización

@jgritty:Go is the successor to Cruise de ThoughtWorks Studios.

2

He utilizado Bamboo/TeamCity/Jenkins/etc y revisé ThoughWorks Go recientemente contra servidores de CI estándar.

Estaba realmente interesado en ver si habían resuelto el problema de la gestión del equipo y la liberación. Personalmente, me gusta TeamCity, pero le di una oportunidad a Go. Estaba un poco decepcionado, para ser sincero, como servidor de compilación pura, no está tan avanzado como TeamCity/Bamboo. Carecía de soporte para SCM clave y herramientas de compilación. Además, la mayoría del servidor de compilación tiene mucho soporte para herramientas de terceros como FindBugs/PMD/Emma/Clover/etc, Go no lo hace

El único aspecto que se diferencia de otros productos en el mercado es el concepto de entornos y la capacidad de moverse a través de los diferentes entornos. Sin embargo, fue una versión muy primitiva del concepto.

Los chicos de ThoughtWorks son algunos de los mejores del mundo y tienen una gran experiencia en los equipos de desarrollo y esperar ver más versiones de la herramienta donde realmente empiezan a abordar algunos de los problemas clave en todo proceso de desarrollo de software

Mi revisión rápida se puede encontrar aquí

http://diarmuidmoloney.wordpress.com/2011/11/24/thoughtworks-go/