Tails
The Amnesic Incognito Live System
blueprint
automated builds and tests
editing jenkins
editing jenkins
RecentChanges
Preferences
Download
Tails 0.23
March 19, 2014
About
Getting started…
Documentation
Help & Support
Contribute
News
[[!meta title="Jenkins"]] [[!toc levels=2]] Resources ========= Miscellaneous ------------- - [Jenkins Best Practices](https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Best+Practices) - [plugins](https://wiki.jenkins-ci.org/display/JENKINS/Plugins) * [Git plugin](https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin) * [Copy Artifact plugin](https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Plugin) can be used to run a test job against the result of a build job, e.g. for Debian packages (think Lintian) or Tails ISO images; see [grml's setup documentation](http://jenkins-debian-glue.org/getting_started/manual/) that uses it. - the [jenkins](http://jujucharms.com/charms/precise/jenkins) and [jenkins-slave](http://jujucharms.com/charms/precise/jenkins-slave) JuJu charms may be good sources of inspiration for deployment - [[!cpan Net-Jenkins]] (not in Debian) allows to interact with a Jenkins server: create and start jobs, get information about builds etc. Jobs management --------------- - [Job builder](http://ci.openstack.org/jenkins-job-builder/) provides one-way (Git to Jenkins) jobs synchronization; it's in Debian sid. * [configuration documentation](http://ci.openstack.org/jenkins-job-builder/configuration.html) * Debian uses it in their `update_jdn.sh`: it runs `jenkins-jobs update $config` after importing updated YAML job config files from Git. * Tor [use it](https://gitweb.torproject.org/project/jenkins/jobs.git/tree) too. - jenkins.debian.net uses the [SCM Sync](https://wiki.jenkins-ci.org/display/JENKINS/SCM+Sync+configuration+plugin) plugin, that apparently handles committing to the VCS on configuration changes done in the web interface, and maybe more. - [jenkins-yaml](https://github.com/varnish/jenkins-yaml) might make it easy to generate a large number of similar Jenkins jobs, e.g. one per branch - [jenkins_jobs puppet module](http://tradeshift.com/blog/tstech-managing-jenkins-job-configurations-by-puppet/) Web setup --------- ### Visible read-only on the web We'd like our Jenkins instance to be visible read-only on the web. We'd rather not rely on Jenkins authentication / authorization to enforce this read-only policy. We'd rather see the frontend reverse proxy take care of this. The [`getUnprotectedRootActions()`](http://javadoc.jenkins-ci.org/jenkins/model/Jenkins.html#getUnprotectedRootActions()) method should return the list of URL prefixes that we want to allow. And we could forbid anything else. The [Reverse Proxy Auth](https://wiki.jenkins-ci.org/display/JENKINS/Reverse+Proxy+Auth+Plugin) Jenkins plugin can be useful to display [an example usage](https://github.com/jenkinsci/reverse-proxy-auth-plugin/commit/72567a974960be2363107614ba3f705ec6e9b695) of this method. ### Miscellaneous - [sample nginx configuration](https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu) Notifications ------------- - [IRC plugin](https://wiki.jenkins-ci.org/display/JENKINS/IRC+Plugin), but I'm told that the jenkins email notifications are way nicer than what this plugin can do, so see [a better way to do it](http://jenkins.debian.net/userContent/setup.html#_installing_kgb_client) - [[!cpan Jenkins-NotificationListener]] is a server that listens to messages from Jenkins [Notification plugin](https://wiki.jenkins-ci.org/display/JENKINS/Notification+Plugin). How others use Jenkins ---------------------- - jenkins.debian.net's: * [setup documentation](http://jenkins.debian.net/userContent/setup.html) * configuration: `git://git.debian.org/git/users/holger/jenkins.debian.net.git` - [Tor's jobs](https://gitweb.torproject.org/project/jenkins/jobs.git/blob/HEAD:/jobs.yaml) - [Ubuntu QA Jenkins instance](https://jenkins.qa.ubuntu.com/) - grml's Michael Prokop talks about autotesting in KVM during his [talk at DebConf 10](http://penta.debconf.org/dc10_schedule/events/547.en.html); they use Jenkins: * [Jenkins instance](http://jenkins.grml.org/) * [unittests](https://github.com/grml/grml-unittests) * [debian-glue Jenkins plugin](https://github.com/mika/jenkins-debian-glue) * [kantan](https://github.com/mika/kantan): simple test suite for autotesting using Grml and KVM * [Jenkins server setup documentation](https://github.com/grml/grml-server-setup/blob/master/jenkins.asciidoc) - [jenkinstool](http://git.gitano.org.uk/personal/liw/jenkinstool.git/) has the tools Lars Wirzenius uses to manage his CI (Python projects test suite, Debian packages, importing into reprepro, VM setup of all needed stuff); the whole thing is very ad-hoc but many bits could be used as inspiration sources. Jenkins for Perl projects ------------------------- * [a collection of links](https://wiki.jenkins-ci.org/display/JENKINS/Perl+Projects) on the Jenkins wiki * an overview of the available tools: [[!cpan Task::Jenkins]] * [a tutorial](https://logiclab.jira.com/wiki/display/OPEN/Continuous+Integration) * [another tutorial](http://alexandre-masselot.blogspot.com/2011/12/perl-hudson-continuous-testing.html) * use [[!cpan TAP::Formatter::JUnit]] (in Wheezy) rather than the Jenkins TAP plugin * use `prove --timer` to know how long each test takes
Optional description of this change:
FormattingHelp
Attachments