royale - build sap
¿Herramientas de compilación disponibles(make, etc.)? (18)
Hay muchas preguntas aquí sobre varias necesidades de compilación de nicho (.NET, integración continua, etc.) pero, por supuesto, mi necesidad de nicho es diferente.
En lugar de hacer una pregunta muy específica en este momento, me gustaría realizar una encuesta sobre las herramientas de compilación disponibles (como make, ant, etc.) para poder hacer una pregunta de seguimiento de forma más inteligente si es necesario.
En su respuesta, por favor incluya:
- UNA herramienta de construcción
- Enlace a la página principal sobre esa herramienta
- Si conoce algunos pros y contras (es decir, se ejecuta en Windows con cygwin o .NET específico, etc.), enumere algunos (no es obligatorio, se requiere el nombre y el enlace).
Si su herramienta de compilación ya está en una respuesta, coméntela agregando pros / contra / limitaciones / experiencias. Siéntase libre de agregar tantas respuestas como desee, siempre y cuando no existan, pero no coloque varias herramientas de compilación en una sola respuesta.
Tenga en cuenta que si duplica las respuestas puede que se le baje la votación: agregue información adicional sobre una construcción determinada en los comentarios. Idealmente, estos comentarios se incorporarán en la respuesta a lo largo del tiempo.
-Adán
CruiseControl / CruiseControl .Net
http://cruisecontrol.sourceforge.net/
Pros
- Puede usar varias herramientas de compilación y TDD según la versión elegida
- Automatice cuándo suceden las construcciones y de qué tipo: compilación de versión completa o creación de código modificado
- Puede ejecutar automáticamente pruebas (nUnit, jUnit, Fitnesse, etc.) en una compilación para garantizar que todas las pruebas sigan siendo aprobadas cuando se ingrese un código nuevo en el proyecto.
- Se integra con el control de fuente
- Notificación de errores y notificación cuando las compilaciones fallan
Contras
- El informe de errores no siempre está en un bonito formato bonito de leer
- La configuración de proyectos debe estar bien pensada y todos los proyectos monitoreados deben usar ciertos patrones para hacer que la configuración de la integración sea más eficiente.
PSake (pronunciado "Sake")
Pros:
- Potencia Shell
Contras -
- Potencia Shell :)
Este proyecto es bastante nuevo, parece interesante y sería muy potente, ya que es ".NET en la línea de comandos". Desafortunadamente, no conozco mucha gente que se tome el tiempo de aprender Powershell.
Generador de script de compilación Utiliza Lua para describir la construcción. Puede generar archivos Makefile o de proyecto para Visual Studio, Code :: Blocks, CodeLite, SharpDevelop, MonoDevelop, etc. Soporte integrado para C, C ++, C #, incluyendo cosas como recursos y ASP.NET. Soporte mono.
Ruby versión de hacer
Pros:
- Limpia sintaxis idiomática de rubí
- Los archivos Rake están escritos en ruby, por lo que aprovecha el ruby en lugar del formato de archivo propietario o XML
- Ruby on Rails estrechamente integrado con él
Contras:
- Requiere ruby, que no siempre está disponible
- Sin soporte integrado para empaquetamiento / control de versiones / administración de dependencias (ver rubygems )
Generador de sistema de construcción multiplataforma. Puede generar archivos Makefile o de proyecto para Visual Studio, Eclipse CDT, KDevelop, Code :: Blocks, etc. Análisis automático de dependencias para C, C ++, Fortran, Java.
Los scripts de compilación son scripts de Python. Se supone que funciona en Linux, Windows, Mac OS X.
GNU Make
Pros
- Visual y GUI orientado a diferencia de hormiga o hacer
- Muchas acciones integradas
- Constructor de scripts para tus propias acciones
- Se integra fácilmente con cc.net
Contras
- Solo se ejecuta en Windows
- No es gratis, pero obtienes un buen valor por tu dinero
También tienen una herramienta llamada Automise que hace más tareas orientadas al sistema.
Pro:
- muchas tareas / complementos
- se ejecuta en muchas plataformas
- muy maduro
- es compatible con muchos IDE, Continuous-Integration-Tools, etc.
Estafa:
- requiere Java
Pros:
- Utiliza Perl, si te gusta ese tipo de cosas
- No lo he usado de otra manera
:-)
Contras:
- Difícil de buscar en Google!
- ¿No desarrollado activamente?
UppercuT -
Algunas buenas explicaciones aquí: UppercuT
Pros:
- Súper fácil de comenzar: construcciones automatizadas tan fáciles como (1) nombre de la solución, (2) ruta de control de origen, (3) nombre de la empresa para la mayoría de los proyectos.
- Conocimiento limitado de NAnt necesario.
Contras -
- Solo disponible para .NET
NUBuild (pronunciado "New-Build")
Esta es la última y bastante avanzada herramienta de construcción .Net (una muy inteligente) llamada NUBuild que le permite construir proyectos VB.Net y C #. Es extremadamente ligero, de código abierto y, al mismo tiempo, fácil de configurar y proporciona un mantenimiento casi sin contacto.
- Interfaz de línea de comando fácil de usar
- Posibilidad de apuntar a todas las versiones de .Net framework, es decir, 1.1, 2.0, 3.0 y 3.5
- Admite configuración basada en XML
- Admite referencias de proyectos y archivos
- Genera automáticamente la "lista completa de compilación ordenada" para un proyecto determinado
- Posibilidad de detectar y mostrar dependencias circulares Realizar una compilación paralela
- Capacidad de manejar ensambles proxy
- Fácilmente integrado con el sistema de integración continua Cruise-Control.Net
- Capacidad de gestión de versiones
- Característica de notificación
¡Lo mejor es la herramienta de compilación que hemos visto hasta ahora!
Bakefile es un generador de makefiles multiplataforma, compilador cruzado. Toma la descripción independiente del compilador (XML) de las tareas de compilación como entrada y genera el archivo make nativo (makefile.in de autoconf, proyecto de Visual C ++, makefile de bcc, etc.).
La tarea de Bakefile es generar archivos make nativos para que las personas puedan seguir usando sus herramientas favoritas. Existen otras soluciones de creación multiplataforma, pero no son nativas y requieren que el usuario use herramientas desconocidas (Boost.Build) o que sean demasiado limitadas (qmake).
Pros:
- Gestión automática de dependencias
- Utiliza la convención sobre la configuración (impone estructuras de directorio de proyecto consistentes)
- Los proyectos que usan maven se pueden construir en minutos
- Excelente soporte para compilaciones de proyectos Java / Java EE estándar
- Funciona bien en un entorno de equipo (admite configuraciones de "equipo")
- Construido en conceptos de lanzamiento / versionado
- Se integra con los populares IDEs de Java
- Creciente apoyo en la comunidad OSS de Java
Contras:
- Curva de aprendizaje empinada (especialmente en comparación con Ant)
- Mala documentación en línea (aunque el nuevo libro es excelente)
- A veces un comportamiento sorprendente
- Muy centrado en Java
- Configuración XML impulsada