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.