- Table of contents
- Continuous Integration with Jenkins
Continuous Integration with Jenkins¶
The Osmocom Cellular Infrastructure software stack has grown to a size where it make sense to somehow track the state after each commit. The Jenkins Software allows us to do this. The installation can be found at http://jenkins.osmocom.org/jenkins and all of Osmocom is tracked there. The goal is to have all projects/repositories of the osmocom umbrella tracked there.
We are happy if people donate CPU time to be used as additional nodes (Build Slaves) to execute the compile jobs. Please contact email@example.com if you want to donate some.
We are using Jenkins in a Docker container. Currently there are several build slaves, primarily a peair of Debian GNU/Linux 8 and 9 LXC containers on amd64 on each of the physical build hosts.
See also [[osmocom-servers:Jenkins_Node_Setup]]
Jenkins Job Builder¶
Initially we used manually-configured jenkins jobs using the Jenkins Web UI. With a lot of projects, it's easy to introduce inconsistency and becomes difficult to maintain. Instead, we step by step migrated to using Jenkins Job Builder which allows us to describe build jobs in YAML syntax. You can find our job descriptions at http://git.osmocom.org/osmo-ci/tree/jobs - and as always, contributions are welcome.
Custom Build Helper Scripts¶
See [[osmocom-servers:Jenkins build verification jobs]].