We are using a slightly patched variant of Mika Prokop's Jenkins-Debian-Glue scripts. Our version is at https://git.postgresql.org/gitweb/?p=pgapt.git;a=tree;f=jenkins.
For every package, there are two jobs:
- foobar-source builds .dsc source packages from an VCS repository, which triggers
- foobar-binaries builds .deb binary packages from the source packages
- Some packages have a foobar-testsuite job that executes the autopkgtests. (The other packages execute this as part of -binaries.)
These jobs then trigger a common job:
- dput uploads the source and binary packages to the repository host
There are some other jobs for maintenance tasks:
- apt.postgresql.org updates the build scripts used on the build host from git, and also runs jenkins-job-builder to update/create jobs
- sbuild-update updates the build chroots
- debcheck runs debcheck installability checks on the repository
To access the Jenkins web interface, an SSL client certificate from sso.debian.org is required.
- An account on alioth.debian.org is required first
- Go to sso.debian.org and log in with your alioth account (which usually includes the "-guest" suffix)
- Click on "SSO certificates" in the upper right corner
- Your browser will generate an SSL client certificate, and the server will sign it (chromium will ask for your permission here)
- https://pgdgbuild.dus.dg-i.net/ should recognize you now
The Jenkins config is autogenerated from a YAML description in our git repo using Jenkins Job Builder.