views:

749

answers:

10

Are there any CI-Systems for Delphi like Hudson for Java? Does Hudson has any Delphi integrations?

+6  A: 

We use CruiseControl.NET, which works perfectly with Delphi.

Brave Cobra
+11  A: 

FinalBuilder Server

Harriv
We use this without any problems. FinalBuilder is always up to date with the latest Delphi versions. (It's written partially in Delphi)
Robert Love
Are DUnit test reports included in the build metrics? (DUnit is not listed in the feature matrix for FinalBuilder at http://www.finalbuilder.com/Products/FinalBuilder/FeatureMatrix/FeaturesTestingToolActions/tabid/97/Default.aspx)
mjustin
I give it a try
Ludwig Wensauer
+9  A: 

We use Hudson :), which works just fine with Delphi.

Here's a complete setup for one of my projects:

<?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>&quot;C:\Program Files\Nant\bin\nant&quot; -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>

sip.build's delphi-7 target builds the project's test suite (DUnit's TextTestRunner) and so the output of the job is simply the count of failed/error tests thanks to:

var
  R: TTestResult;

begin
  R := TextTestRunner.RunRegisteredTests;
  ExitCode := R.ErrorCount + R.FailureCount;
end;
Frank Shearar
+1 for Hudson - you might get more if you explain how, of course :-)
Mawg
+1 for HudsonWe use hudson + pasdoc + DUnit + InnoSetup + SourceMonitor
Daniele Teti
I am familar with hudson so I give it a try.The combination hudson + pasdoc + DUnit + InnoSetup + SourceMonitor sounds great @Daniele
Ludwig Wensauer
+3  A: 

It seems Embarcadero itself uses Hudson. See the comment from Nick Hodges, Development Manager at Embarcadero. http://blogs.embarcadero.com/nickhodges/2010/03/10/39369#comment-29952

The_Fox
The JUnit compatible listener for DUnit test results mentiones in the follow-up comment would be nice to have
mjustin
A: 

Hudson is simple to use, with some web-based assistants, as Delphi projects are built with MSBuild.

If you need more customization and 3rd party tools integration (integrate metrics tools for example) then CruiseControl.NET is the ideal solution.

Have a look to my CC.NET Dashboard page for DelphiCodeToDoc (and you can have a look to the configuration file also). I'm doing checkout + compilation of gui and command line version and unit test + unit test execution and report + ftp upload build delivery.

TridenT
+3  A: 

Hudson is great, it is also available as MSI setup. Users of older Delphi versions (pre MSBuild), can create build scripts with the popular Apache Ant and NAnt build script environments. Simple command line (batch script) builds are possible too of course.

One of the highlights of this installer is that it comes with a JRE, to be fully self-contained. This is because Windows users don't normally know what to do with the *.war file, and they generally don't like going to the command prompt and running Java command manually.

So it is easy to try without going through too many installers and command lines first.

And after installation make sure to visit the plug in page in the administration app, there are many extensions available which are also useful for Delphi developers. A plugin overview is also online here.

Hudson tools for Delphi: there is also a Code Coverage tool for Delphi with Hudson support here.

TeamCity is another very nice CI system. It is a commercial product, but offers a free license for up to 20 users and 20 build configurations on 3 build agents.

Bamboo is a CI system for any language. It is available from Atlassian. Its price starts at $10 - this includes all features and unlimited users, but limited to 10 plans, running builds only on the server where it is installed. It can use Amazon Elastic Compute Cloud instances as remote agents.

Automated Build Studio from SmartBear. With Automated Build Studio Server, it introduced CI some time before FinalBuilder.

mjustin
A: 

Just to throw my support for CruiseControl.NET, as Delphi 2007 and above are based around MSBuild, then there should be no problem with builds via CC.NET. There is a patch somewhere for DUNit, so that it outputs the results to an XML file, and this can then be integrated into the builds results charts.

Mmarquee
A: 

errrm, can you define what you are actually looking for?

You use the phrase continuous integration, but do you just mean continuous build to make sure it compiles and likes, or do you actually mean continuous integration in the sense that you also run regression tests?

I would be curios as to how you do that (Auto-it?).

Not that it really matters too much, because the wonderful Hudson (which is decidedly not just for java) has numerous plug-ins, but will also allow you to execute a DOS batch script - any script that you care to write, to build, to test, to report results, etc.

Mawg
regression test would be great but I am not soure how to do them. I knew that Hudson is very flexibel but I really don't want to write custom batch scripts. A out of the box solution would be nice.
Ludwig Wensauer
A: 

Another option (although not free, $10 for limited # of users) is Atlassian Bamboo. And JetBrains TeamCity is another that is free (with limited # of users). I've tried both with Delphi 2009/2010, and they work quite well. Both allowed integration with Perforce among other SCM's.

Vic Adam
A: 

Add our Parabuild to the list of tools to check out - it builds practically anything that can be built from the command line - that includes Delphi, and it provides integration with Perforce and other version control systems such as Git and Bazaar.

Slava Imeshev