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 small hackish script which will install all needed packages and copy their configuration in place. 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.