Pregunta

Nuestras compilaciones y pruebas automatizadas están tomando una cantidad cada vez mayor de recursos, especialmente porque admitimos muchas plataformas y probamos tanto en depuración como en optimizado. Por lo tanto, estoy buscando un soporte para herramientas que permita una " pipeline " más incremental enfoque para que podamos obtener comentarios y resultados más rápido. Algunas características ideales incluirían:

  1. Soporte para retroalimentación incremental para que podamos ver los resultados de la compilación, las pruebas unitarias, las pruebas rápidas, las pruebas de ejecución más largas, el análisis estático, etc., a medida que estén disponibles.

  2. Dependencia de la tarea: si la compilación falla, las pruebas no deberían ejecutarse, pero otras tareas podrían ser (como pelusas o algo así).

  3. Compatibilidad con múltiples herramientas de compilación y prueba (incluida la personalizada).

  4. Soporte para múltiples plataformas (Linux, Mac, posiblemente Windows).

  5. Alguna capacidad de archivar sería genial, cosas como archivos de registro, salida de compilación / prueba, etc. Naturalmente, esto puede volverse inmanejablemente grande, por lo que lo ideal sería que algunos datos se eliminen después de X muchos días o Y muchas compilaciones. p>

Cualquier puntero o consejo personal es muy apreciado.

¿Fue útil?

Solución

Es posible que desee consultar Jenkins (anteriormente Hudson) .

Otros consejos

He estado usando Anthill pero tienes que pagar por ello.

Automated Build Studio se acerca, creo, aunque probablemente no lo sea. Es una opción para usted debido a su naturaleza de solo ventanas.

  1. Sí. El front-end web proporciona comentarios incrementales a medida que se ejecutan las compilaciones, tanto en detalle como en porcentaje.
  2. Sí. El proceso de construcción es una jerarquía de tareas. Puede determinar si una tarea es fail-continue o fail-abort.
  3. Sí. Las tareas pueden ser casi cualquier cosa. La caja de herramientas de tareas que la acompaña es bastante completa.
  4. no El servidor de compilación debe ser una máquina de Windows. Sin embargo, puede iniciar compilaciones desde el front-end web.
  5. Sí. Cada compilación se registra en detalle, jerárquicamente, por lo que es fácil señalar qué sucedió en cada paso.

Creo que buildbot hará todo lo que quieras:

  1. El front-end web muestra el resultado de los comandos.
  2. Dependencias de tareas completas
  3. Herramientas totalmente personalizadas: scripts de Python, pero en su mayoría scripts de shell
  4. Actualmente lo estamos usando en Linux, Mac, Solaris, HP-UX
  5. Lo registra todo, no sé cómo o si purga las cosas.

Tendría que estar de acuerdo con la opción de thinkworks - Ir " Agile Release Management " http://www.thoughtworks-studios.com/go-agile-release-management

Hay una edición comunitaria (gratuita) y algunas buenas características en la edición empresarial, como las configuraciones de entorno y la implementación de artefactos específicos (versiones) en entornos específicos.

La configuración de Mi JetBrains TeamCity se aproxima a lo que necesitas.

En un solo proyecto, he configurado varias configuraciones de compilación diferentes.

La diferencia entre cada configuración de compilación está en la elección de los objetivos de compilación (uso NAnt) y en la activación.

Tengo un " Integración XYZ " configuración que hace una construcción de depuración y ejecuta algunas pruebas NUnit. Esto se activa 60 segundos después de que se completa el registro, lo que proporciona una respuesta rápida al equipo de desarrollo.

También tengo un " XYZ Daily " La configuración que realiza una compilación de depuración, ejecuta las pruebas NUnit, luego construye algunos MSI y compila algo de documentación. Como probablemente puedas adivinar, esto se ejecuta una vez al día.

Puedes hacer lo mismo, pero con una gama más amplia de configuraciones.

Usamos Hericus Software's Zed Builds and Bugs Management y puede manejar lo que está describiendo. Nuestras compilaciones principales consisten en más de 61 pasos discretos que cubren compilaciones para Java, C ++, C # y compilaciones de instalación para 5 plataformas de SO diferentes. Algunos de los pasos se ejecutan en paralelo, otros pueden fallar sin que falle toda la compilación, y muchos de los pasos se ejecutan de forma remota en diferentes máquinas.

1) Sí. A medida que se ejecutan los pasos para una compilación, puede ver inmediatamente los resultados del paso sin tener que esperar a que se complete la compilación completa.

2) Sí. Puede definir si una falla de paso causa una falla de compilación completa o no. La capacidad de crear " hijo " o " sub " compilaciones llamadas por un " padre " o " maestro " la construcción permite una flexibilidad extrema.

3) si. Estamos utilizando makefiles, ant, C # solutions y varios scripts personalizados y todos se integran bien.

4) Sí. El servidor de compilación es java y solo requiere un 1.6 JDK, por lo que cualquier plataforma funciona para el servidor de compilación principal o para los servidores de compilación por satélite.

5) Sí. Todo copiado en el estado de compilación " " Se guarda el directorio. Esto incluye el comando estándar de salida / error que puede ser revisado desde el sitio web. Tú eliges cuánto " dev " Historial de compilación para mantener en términos de número de compilaciones. Una construcción también se puede promocionar a " QA " en cuyo caso no se eliminará hasta que se haya eliminado de " QA " ;. Desde el control de calidad puede promocionar una compilación a " Producción " que mantendrá todos los artefactos de compilación hasta que decida eliminarlos.

Por favor, prueba Cruise desde Thoughtworks

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top