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
