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