Debian builds with Jenkins
Goals
The aim of this work was to ease and automate the way debian packages are created for the supported middleware security software. Just like the Koji Testbed for automated RPM packaging, a similar solution was proposed with the use of Jenkins. A Jenkins job can be configured for every component which can be run on a debian build node. This job can than be used to create packages for multiple distributions and architectures in a clean environment with the use of cowbuilder. Much of this work was built on top of the debian building procedure already outlined before.
Prerequisites
There are a couple of prerequisites assumed to be already in place:
- Jenkins configured with OpenStack
- Additional Jenkins plugins
- EnvInject for environmental variable injection
- Matrix Project for multi configuration jobs
- Subversion and Git support
- Configuration Slicing for easier maintenance
Note: The use of Debian Package Builder has been discarded due to its limitation on not using a clean build environment
- The latest stable debian image (jessie at the time) configured as Jenkins slave (debian build node)
- Software installed on the debian build node
- jenkins-debian-glue (build script wrappers)
- Packages required for debian package building:
apt-get install dh-make autotools-dev dh-autoreconf build-essentials devscripts cdbs quilt \ debhelper fakeroot linitan pbuilder cowbuilder svn_buildpackage maven_debian_helper