Apt/Jenkins

From PostgreSQL wiki
< Apt
Jump to navigationJump to search

Overview

Packages are built in a Jenkins installation at https://pgdgbuild.dus.dg-i.net/ (login required, see below).

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

Jenkins Login

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

Jenkins Configuration

The Jenkins config is autogenerated from a YAML description in our git repo using Jenkins Job Builder.

https://git.postgresql.org/gitweb/?p=pgapt.git;a=tree;f=jenkins