Project

General

Profile

Jenkins » History » Version 4

laforge, 02/21/2016 02:30 PM

1 1 zecke2
2 4 laforge
h1. Continuous Integration with Jenkins
3 1 zecke2
4 4 laforge
h2. What
5 3 zecke2
6 1 zecke2
The software stack has grown to a size where it make sense to somehow track the state after
7
each commit. The Jenkins Software allows us to do this. The installation can be found at
8 4 laforge
http://jenkins.osmocom.org/jenkins and all of Osmocom is tracked there. The goal is to
9 1 zecke2
have all projects/repositories of the osmocom umbrella tracked there. We are happy if people
10
donate CPU time to be used as additional nodes to execute the compile jobs.
11
12 3 zecke2
h2. How
13
14 4 laforge
We are using Jenkins as it comes from the FreeBSD port system. It runs using the standalone
15 3 zecke2
servlet container (Winstone Servlet Engine) and is behind one (IPv6) or two (IPv4) cherokee
16 4 laforge
reverse proxies. Currently there are two nodes FreeBSD 8.2/AMD64 and Debian Squeeze/i386 (
17
running on the FreeBSD kernel, any weirdness might be a broken syscall implementation).
18 3 zecke2
19 2 zecke2
h3. Custom Script
20 1 zecke2
21 4 laforge
The @osmo-deps.sh@ script was created to clone/update a dependency in the workspace of a build
22 1 zecke2
node. The script will try to git-clone, git-fetch, git-reset --hard the dependency.
23 3 zecke2
24
<pre>
25 1 zecke2
<code class="sh">
26
if ! test -d $1;
27
then
28
  git clone git://git.osmocom.org/$1 $1
29
fi
30
31
cd $1
32
git fetch origin
33 3 zecke2
git reset --hard origin/master
34 1 zecke2
</code></pre>
35
36 3 zecke2
37 4 laforge
h3. FreeBSD 8.2 and Osmocom
38 3 zecke2
39 1 zecke2
Not everything is required to build on GNU/Linux systems, for SIMtrace a fake libusb-1.0.pc
40
was created to point to the /usr/include,/usr/lib for libusb, all dependencies (fftw, erlang,
41
autotools...) were installed through the port system
42 3 zecke2
43
44
h3. Debian/Squeeze
45 1 zecke2
46
Normal Debian/Squeeze installation, all dependencies installed via the apt/dpkg package
47
system. The arm-elf-gcc toolchain is installed using the toolchain script of the bb.osmocom.org
48
wiki.
Add picture from clipboard (Maximum size: 48.8 MB)