esquema - Sistema de integración continua para Delphi
integracion continua pipeline (11)
¿Hay algún sistema de CI para Delphi como Hudson para Java? ¿Hudson tiene integraciones Delphi?
Agregue nuestro Parabuild a la lista de herramientas para verificar - construye prácticamente cualquier cosa que se pueda construir desde la línea de comandos - que incluya Delphi, y proporciona integración con Perforce y otros sistemas de control de versiones como Git y Bazaar.
Otra opción (aunque no gratuita, $ 10 para un número limitado de usuarios) es Bamboo . Y JetBrains TeamCity es otro que es gratis (con un número limitado de usuarios). Lo intenté con Delphi 2009/2010 y funcionan bastante bien. Ambos permitieron la integración con Perforce entre otros SCM.
Parece que Embarcadero usa Hudson. Vea el comentario de Nick Hodges, Gerente de Desarrollo de Embarcadero. http://blogs.embarcadero.com/nickhodges/2010/03/10/39369#comment-29952
Solo para brindar mi apoyo a CruiseControl.NET, ya que Delphi 2007 y posteriores se basan en MSBuild, entonces no debería haber problemas con las compilaciones a través de CC.NET. Hay un parche en alguna parte para DUNit, de modo que muestra los resultados en un archivo XML, y esto luego puede integrarse en los gráficos de resultados de las construcciones.
Usamos CruiseControl.NET , que funciona perfectamente con Delphi.
Usamos Hudson :), que funciona bien con Delphi.
Aquí hay una configuración completa para uno de mis proyectos:
<?xml version=''1.0'' encoding=''UTF-8''?>
<project>
<actions/>
<description></description>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.scm.CVSSCM">
<cvsroot>:sspi:cvsonly:foo@bar:/baz</cvsroot>
<module>SIP</module>
<canUseUpdate>false</canUseUpdate>
<flatten>true</flatten>
<isTag>false</isTag>
<excludedRegions></excludedRegions>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<triggers class="vector"/>
<builders>
<hudson.tasks.BatchFile>
<command>"C:/Program Files/Nant/bin/nant" -buildfile:etc/sip.build build-d7 test</command>
</hudson.tasks.BatchFile>
</builders>
<publishers>
<hudson.tasks.BuildTrigger>
<childProjects>quux, foozle, wibble</childProjects>
<threshold>
<name>SUCCESS</name>
<ordinal>0</ordinal>
<color>BLUE</color>
</threshold>
</hudson.tasks.BuildTrigger>
</publishers>
<buildWrappers/>
</project>
El objetivo delphi-7 de sip.build crea el conjunto de pruebas del proyecto (TextTestRunner de DUnit) y, por lo tanto, el resultado del trabajo es simplemente el recuento de pruebas fallidas / de error gracias a:
var
R: TTestResult;
begin
R := TextTestRunner.RunRegisteredTests;
ExitCode := R.ErrorCount + R.FailureCount;
end;
errrm, ¿puedes definir lo que realmente estás buscando?
Usas la frase continuous integration
, pero ¿solo te refieres a continuous build
para asegurarte de que compila y le gusta, o realmente te refieres a continuous integration
en el sentido de que también ejecutas pruebas de regresión?
Sería una curiosidad sobre cómo hacer eso (¿Auto-es?).
No es que realmente importe demasiado, porque el maravilloso Hudson (que definitivamente no es solo para Java) tiene numerosos complementos, pero también le permitirá ejecutar un script de lotes DOS, cualquier script que quiera escribir, construir, para probar, para reportar resultados, etc.
Hudson es genial, también está disponible como configuración MSI . Los usuarios de versiones anteriores de Delphi (antes de MSBuild) pueden crear scripts de compilación con los populares entornos de script de compilación Apat Ant y NAnt. Las compilaciones simples de línea de comandos (secuencia de comandos por lotes) son posibles también, por supuesto.
Uno de los aspectos más destacados de este instalador es que viene con un JRE, para ser totalmente autónomo. Esto se debe a que los usuarios de Windows normalmente no saben qué hacer con el archivo * .war y generalmente no les gusta ir al símbolo del sistema y ejecutar el comando Java manualmente.
Por lo tanto, es fácil de probar sin pasar por demasiados instaladores y líneas de comando primero.
Y después de la instalación, asegúrese de visitar la página de plug-ins en la aplicación de administración, hay muchas extensiones disponibles que también son útiles para los desarrolladores de Delphi. Una descripción general de los complementos está en línea here .
Herramientas de Hudson para Delphi: también hay una herramienta de Cobertura de código para Delphi con soporte Hudson here .
TeamCity es otro sistema de CI muy agradable. Es un producto comercial, pero ofrece una licencia gratuita para hasta 20 usuarios y 20 configuraciones de compilación en 3 agentes de compilación.
Bamboo es un sistema de CI para cualquier idioma. Está disponible desde Atlassian. Su precio comienza en $ 10, esto incluye todas las características y usuarios ilimitados, pero se limita a 10 planes, ejecutando compilaciones solo en el servidor donde está instalado. Puede utilizar las instancias de Amazon Elastic Compute Cloud como agentes remotos.
Automated Build Studio de SmartBear. Con Automated Build Studio Server, introdujo CI algún tiempo antes de FinalBuilder.
Hudson es fácil de usar, con algunos asistentes basados en la web, ya que los proyectos Delphi se crean con MSBuild.
Si necesita más personalización e integración de herramientas de terceros (por ejemplo, integrar herramientas de métricas), CruiseControl.NET es la solución ideal.
Eche un vistazo a mi página CC.NET Dashboard para DelphiCodeToDoc (y también puede echarle un vistazo al archivo de configuración). Estoy haciendo el proceso de pago y compilación de la versión de la línea de comandos y de la GUI y la prueba unitaria + la ejecución de la prueba unitaria y la entrega de la compilación de la carga de ftp + informe .