Project

General

Profile

Jenkins » History » Version 4

laforge, 02/21/2016 02:30 PM

1 1
2 4 laforge
h1. Continuous Integration with Jenkins
3 1
4 4 laforge
h2. What
5 3
6 1
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
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
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
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
19 2
h3. Custom Script
20 1
21 4 laforge
The @osmo-deps.sh@ script was created to clone/update a dependency in the workspace of a build
22 1
node. The script will try to git-clone, git-fetch, git-reset --hard the dependency.
23 3
24
<pre>
25 1
<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
git reset --hard origin/master
34 1
</code></pre>
35
36 3
37 4 laforge
h3. FreeBSD 8.2 and Osmocom
38 3
39 1
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
43
44
h3. Debian/Squeeze
45 1
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)