[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