blob: d5b86b44a3db9b2f9fde23728529bd0c72d13c61 (
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
|
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 Subversion Plug-in
* SCM Sync Configuration Plugin
* Static Analysis Utilities
* Dependency Graph Viewer Plugin
* Nested View Plugin
* Locale plugin
* HTML Publisher plugin
* Jenkins GIT plugin
* View Job Filters
* Read-only configurations
* Sidebar Link
* Green Balls
* Log Parser Plugin
* Jenkins Translation Assistance plugin
* Compact Columns
* Simple Theme Plugin
=== updating jenkins.debian.net with update_jdn.sh
* needed packages are listed in 'update_jdn.sh' and which will also make sure they are installed
** 'update_jdn.sh' is available in the git repo
* package configuration is kept in that git repo and deployed by 'update_jdn.sh' as well.
=== Installing jenkins-job-builder
* rebuild python-jenkinsapi from sid for wheezy:
* `pip install python-jenkins`
* `git clone https://github.com/openstack-ci/jenkins-job-builder ; cd jenkins-job-builder ; python setup.py install`
** actually https://github.com/h01ger/jenkins-job-builder is used atm.
=== Using jenkins-job-builder
* then run `cd /srv/jenkins/job-cfg ; jenkins-jobs update .` to update jobs
* 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 it'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.
|