blob: f85d5fd58a023495bcc7e0377de51e622dad78f3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
Setup of jenkins.debian.net
===========================
:Author: Holger Levsen
:Authorinitials: holger
:EMail: holger@layer-acht.org
:Status: in progress
:lang: en
:Doctype: article
:Licence: GPLv2
== About jenkins.debian.net
See link:http://jenkins.debian.net/userContent/about.html["about jenkins.debian.net"].
== Setup
=== Installed software that makes jenkins.debian.net run
* jenkins.debian.net runs Debian wheezy.
=== Jenkins
* Currently running the long term support .deb from jenkins-ci.org.
* Jenkins is installed using 'deb http://pkg.jenkins-ci.org/debian-stable binary/' into '/etc/apt/sources.list.d/jenkins.list' and `apt-get update && apt-get install jenkins`.
* I would prefer to run a jenkins package from wheezy-backports.
==== Jenkins plugins
* Jenkins GIT plugin
* Jenkins Subversion Plug-in
* Log Parser Plugin
* HTML Publisher plugin
* Static Analysis Utilities
* Read-only configurations
* SCM Sync Configuration Plugin
* Dependency Graph Viewer Plugin
* Nested View Plugin
* View Job Filters
* Sidebar Link
* Green Balls
* Compact Columns
* Simple Theme Plugin
* Locale plugin
* Jenkins Translation Assistance plugin
=== updating jenkins.debian.net with 'update_jdn.sh'
'update_jdn.sh' is a small hackish script which will install all needed packages, copy their configuration in place, generate the documentation webpages and update all jenkins jobs if needed.
As 'root' run:
----
cd
git clone git://git.debian.org/git/users/holger/jenkins.debian.net.git
cd jenkins.debian.net
./update_jdn.sh
----
'jenkins-job-builder' is the only software which is not covered by this script.
=== Installing jenkins-job-builder
This is the only software which needs manual installation and is not covered by 'update_jdn.sh'
----
pip install python-jenkins
git clone https://github.com/openstack-ci/jenkins-job-builder
cd jenkins-job-builder
python setup.py install
----
Though actually https://github.com/h01ger/jenkins-job-builder is used atm.
=== Using jenkins-job-builder
'update_jdn.sh' takes care of this too, so this is just for quick documentation. The real documentation is at link:http://ci.openstack.org/jenkins-job-builder/
* run `cd /srv/jenkins/job-cfg ; jenkins-jobs update .` to update jobs
* for testing: `cd /srv/jenkins/job-cfg ; rm test-output/ -r ; mkdir test-output ; jenkins-jobs test . -o test-output/ ; ls test-output/`
=== munin
link://munin-monitoring[Munin] is installed, running with link:http://jenkins.debian.net/munin/[jenkins plugins] not yet published elsewhere.
=== Backup
Currently only the configuration is backed up, but neither the jenkins results nor system logs. But that's at least sufficient to re-setup the system if needed.
* The _etckeeper_ package is installed and automatically keeps '/etc' in '/etc/.git'.
* The _SCM Sync Configuration Plugin_ is installed in Jenkins, putting all Jenkins configuration into '/srv/jenkins.debian.net-scm-sync.git'.
** (This is not ideal yet, because it also puts the generated job configuration there...)
I've cloned these two git repos on my desktop and manually run `git pull`, though in future I'll
FIXME: use a dedicated ssh pubkey and run it via cron.
|