Jenkins » History » Version 1
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 | #!/bin/sh |
||
24 | |||
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. |