[M3devel] CM3 Continuous Integration with Hudson

Olaf Wagner wagner at elegosoft.com
Tue Jul 21 18:10:02 CEST 2009


While in preparation for the pending release the target platforms
in our tinderbox have grown significantly (though many are still red),
I've set up some initial build and test jobs on a new system, which
I'd like to replace Tinderbox gradually with during the next weeks or
months.

Have a look at

   http://hudson.modula3.com:8080/view/cm3/

Hudson is much more flexible and easier to use than Tinderbox.
It can be completely configured and administered via HTTP, including
upgrade and restart, which is a big plus at least for me currently
(closed network except for HTTP).

We can reuse most of the existing scripts, just need to change and
adapt some settings. And convert our test results to JUnit XML format,
but that's easy, too.

Here are some of the advantages I see:
  o easy setup and configuration
  o easy online administration
  o very flexible setup of arbitrary jobs
  o default integration of CVS and Subversion version control systems,
    plug-ins for many more
  o easy integration of HTML and other documents
    see http://hudson.modula3.com:8080/view/cm3/job/cm3-test-m3tests-FreeBSD4/
    for an example
  o continuous integration via CVS polling working out of the box
    see  
http://hudson.modula3.com:8080/view/cm3/job/cm3-lastok-build-AMD64_LINUX/changes
    and  
http://hudson.modula3.com:8080/view/cm3/job/cm3-lastok-build-AMD64_LINUX/scmPollLog/
  o version control integration working out of the box:
    see  
http://hudson.modula3.com:8080/view/cm3/job/cm3-lastok-build-AMD64_LINUX/37/changes#detail2
    and  
http://modula3.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-sys/m3tests/src/m3makefile?r1=1.51&r2=1.52
  o integrated history and trend reports:
    see  
http://hudson.modula3.com:8080/view/cm3/job/cm3-lastok-build-AMD64_LINUX/buildTimeTrend
    (needs JUnit format for test result evaluation, not done yet)
  o HTTP access to the complete workspace
    see  
http://hudson.modula3.com:8080/view/cm3/job/cm3-lastok-build-AMD64_LINUX/ws/cm3/
  o job report feeds for browser integration
    see http://hudson.modula3.com:8080/view/cm3/rssFailed
  o easy configuration backup, migration and transfer, as everything
    is stored in plain XML files

And here are some disadvantages:
  o more heavyweight, needs more cpu and memory
  o needs slave installation on every build platform
  o needs ssh access for slave control, but allows publishing
    of job results from independent servers (not tested yet)
  o is written in Java and not Modula-3 :-)

I've setup birch as master which also runs jobs for the AMD64_LINUX
target platform, and my home computer as a slave server for FreeBSD.

If anybody wants access to view the configuration details or
try something him/herself, just let me know and I'll set up an
account.

I also plan to setup actual installation tests before the release.

Have fun,

Olaf
-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list