Project

General

Profile

Jenkins » History » Version 2

Anonymous, 02/19/2016 10:47 PM

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