Project

General

Profile

Jenkins » History » Revision 5

Revision 4 (laforge, 02/21/2016 02:30 PM) → Revision 5/11 (laforge, 07/10/2017 01:14 PM)

 
 h1. Continuous Integration with Jenkins 

 h2. 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 
 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 to execute the compile jobs. Please contact laforge@gnumonks.org if you want to donate some. 

 h2. How 

 We are using Jenkins as it comes from the 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 and Debian Squeeze/i386 ( 
 running on the 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"> 
 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 8.2 and Osmocom 

 Not everything is required to build on 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.
Add picture from clipboard (Maximum size: 48.8 MB)