We have a working Jenkins on http://jenkins.cloudstack.org/, which can build 
RPM/DEB.
It looks like we are using Jenkins, but actually, underneath, we don't leverage 
the powerful plugins provided by Jenkins. From the 
documents(https://wiki.jenkins-ci.org/display/JENKINS/Plugins), Jenkins 
provides all kinds of plugins we can customize during the lifecycle a build, 
which should be enough for us. Meaning it's possible to get rid of 
https://github.com/CloudStack/hudsonbuild, use plugins(slave/master, git, 
maven, ant, s3 etc) of Jenkins instead.
The benefit of this move: 
    1. Jenkins is good at scheduling jobs, all the operation we are doing can 
be put into jobs: e.g. If need to cleanup storage on one of build machine, 
schedule a job on that machine, then execute a shell script to clean up. It's 
the same thing for a build.
    2. Maintainable, there should be no extra code needed to put into build 
machines, all we need is to configure on Jenkins UI. So everybody can customize 
the build.

And later on, we can integrate automate test into Jenkins, using cloudstack to 
preinstall baremental machines: 
http://code54.com/blog/2012/09/08/cloud-provisioning-for-ci-jenkins-cloudstack.html

Reply via email to