Automatización de compilation para Delphi + Oracle

en mi trabajo, actualmente estamos buscando una herramienta de compilation automatizada. Hemos buscado en Google un poco, pero hay tantas posibilidades que no estamos seguros de qué herramienta es la mejor opción, para ser honesto.

Ni siquiera estamos seguros de que haya uno que se ajuste a nuestras necesidades. Debe tener tantas como sea posible de las siguientes características:

  1. Integración con Subversion, lo que significa que debería poder realizar actualizaciones y confirmaciones.
  2. Diferenciar la herramienta o la capacidad para integrarse con uno, y la capacidad de combinar automáticamente los files (bueno, al less no los problemáticos).
  3. Delphi build automation, utilizando el comstackdor de command-line.
  4. Integración con Oracle, lo que significa que tiene la capacidad de ejecutar scripts SQL y comstackr packages PL / SQL, funciones, etc.
  5. Envío de correos electrónicos con estado de compilation (supongo que esto es algo que todos ellos tienen).

Las funcionalidades adicionales serían bienvenidas, pero no son necesarias en este momento. Cualquier cosa en la línea de get al less los puntos 1 y 2 sería genial.

Si alguien pudiera indicarnos alguna herramienta en particular, estaríamos muy agradecidos.

Gracias de antemano y un saludo

Para mis proyectos Delphi, estaba usando FinalBuilder (una aplicación Delphi) hace mucho time. Siempre estuve muy contento con el producto, y funcionó muy bien.

Mientras tanto, también lanzaron una versión de server de la herramienta de compilation, para que pueda configurar un server de compilation completo y tener su código creado allí.

Otro digno contendiente en aquellos días solía ser Visual Build – function por característica los dos casi coinciden, pero la "sensación" de la aplicación, la facilidad de uso, fue con Finalbuilder, en mi opinión personal.

No estoy seguro de si alguno de los dos tiene soporte directo y específico de Oracle, pero al less Finalbuilder puede ejecutar cualquier cosa que se pueda ejecutar desde la command-line, por lo que debería darle muchas opciones, realmente.

He estado utilizando CruiseControl.NET como un server de Integración Continua para nuestras comstackciones Delphi, que se integra muy bien con NAnt como lenguaje de creación de scripts.

Olvidándome de CC.NET, simplemente usar NAnt me proporcionaría la mayor parte de lo que necesita, creo.

Combinado con la biblioteca adicional de tareas extras de NAnt-Contrib, he implementado todo lo que menciona con la exception de la integración de Oracle. Sin embargo, puede invocar fácilmente elementos de la command-line desde scripts NAnt o escribir sus propias tareas NAnt utilizando cualquier lenguaje .NET.

NAnt tiene tareas para integrarse con Subversion, o simplemente puede invocar el cliente de línea de command svn.

He invocado BeyondCompare como una herramienta diff desde mis scripts NAnt, utilicé NAnt para enviar correos electrónicos HTML personalizados y ejecutar comstackciones de Installshield, junto con obviamente ejecutar el comstackdor Delphi y el comstackdor de resources de la línea de comunicaciones.

NAnt es gratuito y de código abierto, vale la pena echarle un vistazo.

Verifique también Automated Build Studio de AutomatedQA, tiene muchas de las funciones que usted solicita.

Usamos FinalBuilder para manejar los requisitos 1, 3, 4 y 5 y Beyond Compare para manejar el requisito 2 y hemos estado muy contentos con ambas herramientas.

Apache Ant es de código abierto y contiene muchas tareas lists para usar , y una function muy completa de scripting y entorno de administración de dependencies.

  • Complemento de integración Subversion: subclipse
  • Tarea central SQL incluida
  • Aplicar tarea puede ejecutar cualquier ejecutable en cualquier patrón de file (como * .dpr)
  • Tarea de correo incluida
  • Tarea Diff Patch incluida

También disponible: zip / unzip, tar / untar, xmlvalidate, xslt, ftp, telnet, scp, sshexec, cab, …

Me sorprende que nadie haya mencionado a Hudson . La mayoría de las herramientas de compilation parecen apuntar a un lenguaje o plataforma específicos. Hudson toma un enfoque diferente. Proporciona una architecture de complemento para que pueda crear un server de compilation que se ajuste a sus necesidades. El proyecto en sí está escrito en Java, pero es completamente autónomo (con la exception de que depende del JRE, por supuesto). Utiliza su propio server web incorporado para proporcionar una interfaz de usuario.

Embarcadero usa Hudson extensamente y hay varios excelentes artículos de cómo hacerlo para empezar

Y si necesita soporte comercial, el autor original ha creado una compañía que ofrece una versión personalizada y soporte técnico.