Project

General

Profile

Jenkins » History » Version 5

laforge, 07/10/2017 01:14 PM
remove explicit line-breaks, add contact address if people want to donate cpu time.

1 1 zecke2
2 4 laforge
h1. Continuous Integration with Jenkins
3 1 zecke2
4 4 laforge
h2. What
5 3 zecke2
6 5 laforge
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. 
7 1 zecke2
8 5 laforge
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.
9
10 4 laforge
h2. How
11 3 zecke2
12 5 laforge
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).
13 2 zecke2
14 1 zecke2
h3. Custom Script
15 4 laforge
16 5 laforge
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.
17 3 zecke2
18
<pre>
19 1 zecke2
<code class="sh">
20
if ! test -d $1;
21
then
22
  git clone git://git.osmocom.org/$1 $1
23
fi
24
25
cd $1
26
git fetch origin
27
git reset --hard origin/master
28
</code></pre>
29 3 zecke2
30 4 laforge
31 3 zecke2
h3. FreeBSD 8.2 and Osmocom
32
33 5 laforge
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
34 3 zecke2
35 1 zecke2
36
h3. Debian/Squeeze
37
38 5 laforge
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)