Jenkins » History » Revision 3
Revision 2 (Anonymous, 02/19/2016 10:47 PM) → Revision 3/11 (Anonymous, 02/19/2016 10:48 PM)
h2. == Continuous Integration with Jenkins h3. == === What === The 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 "here":http://jenkins.osmocom.org/jenkins [http://jenkins.osmocom.org/jenkins here] 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 to execute the compile jobs. h2. == How == We are using Jenkins as it comes from the [[FreeBSD]] FreeBSD port system. It runs using the standalone servlet container (Winstone Servlet Engine) and is behind one (IPv6) or two (IPv4) cherokee reverse proxies. Currently there are two nodes [[FreeBSD]]8.2/AMD64 FreeBSD8.2/AMD64 and Debian Squeeze/i386 ( running on the [[FreeBSD]] FreeBSD kernel, any weirdness might be a broken syscall implementation). h3. === Custom Script === The osmo-deps.sh script was created to clone/update a dependency in the workspace of a build node. The script will try to git-clone, git-fetch, git-reset --hard the dependency. <pre> <code class="sh"> {{{ #!sh if ! test -d $1; then git clone git://git.osmocom.org/$1 $1 fi cd $1 git fetch origin git reset --hard origin/master </code></pre> h3. [[FreeBSD]] }}} === FreeBSD 8.2 and Osmocom === Not everything is required to build on GNU/Linux !GNU/Linux systems, for SIMtrace a fake libusb-1.0.pc was created to point to the /usr/include,/usr/lib for libusb, all dependencies (fftw, erlang, autotools...) were installed through the port system h3. === Debian/Squeeze === Normal Debian/Squeeze installation, all dependencies installed via the apt/dpkg package system. The arm-elf-gcc toolchain is installed using the toolchain script of the bb.osmocom.org wiki.