Skip to content
Go to file
Cannot retrieve contributors at this time
87 lines (62 sloc) 4.07 KB

Jenkins on Jenkins

This document covers the services available on and our internal instance.

Node Labels

We use node labels to define capabilities of the nodes in our Jenkins clusters. These are conventional and are to be used when referencing nodes, e.g. in the Jenkinsfile.

  • linux : A Linux (Ubuntu 18.04 LTS) instance (alias of java)

  • docker : A Linux (Ubuntu 18.04 LTS) instance with a running Docker daemon

  • windows : A Windows 2019 provisioned on Azure or AWS

  • highmem : A Linux (Ubuntu 18.04 LTS) instance with 4vCPU/28GB RAM (Standard A6). Please avoid unless running ATH or other high-memory capacity instances.

  • windock : A Windows 2019 provisioned on Azure or AWS that is able to run Windows Docker images

  • puppet : A Linux (Ubuntu 14.04 LTS) instance that is managed by this Puppet code

Node Labels - Processors

  • amd64 : An agent running an AMD or Intel 64 bit processor

  • arm64 : An agent running an ARM 64 bit processor on AWS (Amazon Graviton)

  • ppc64le : An agent running an IBM PowerPC 64 bit processor

  • s390x : An agent running an IBM System 390x (Z series) processor

Container Agents

We have Azure Container Instances deployed which can offer dramatically reduced Pipeline "in-queue" times. Currently these are only available on, and are not yet available on or

The agent images are all built from the jnlp-agents repository.

To use a container agent, specify one of the following labels:

  • maven: A Maven 3 (Debian) container with JDK8

  • maven-windows: A maven 3 Windows container with JDK8

  • maven-11: A maven 3 (Debian) container with JDK11

  • maven-11-windows: A maven 3 Windows container with JDK11

  • node: A Node (Alpine) container

  • ruby : A Ruby 2 (Debian) container

  • alpine : An Alpine-based container with no additional tooling.

Tool Installers

We generally prefer to use the Docker Pipeline plugin for system dependencies in the Jenkinsfile but it’s also possible to use some basic, pre-configured, tool installers.

  • jdk7 A recent OpenJDK 7 version

  • jdk8 A recent OpenJDK 8 version

  • jdk11 A recent OpenJDK 11 version from

  • mvn A recent Maven 3.x version

  • groovy A recent Groovy 2.x version

Pipeline plugins

  • Pipeline

  • Docker Pipeline

  • Blue Ocean

Caching mirrors and mirror and, respectively, so these may be used from frontend-maven-plugin, as happens automatically in the plugin parent POM as of 2.29. (There is currently no mirror for, the yarn distribution site.)

There is also a mirror of the npm package repository; to use it:

npm config set registry


yarn config set -- --registry

Additionally, mirrors all non-snapshot downloads from For example, to use this from Maven, pass -s settings-azure.xml:

<settings xmlns="" xmlns:xsi="" xsi:schemaLocation="">
You can’t perform that action at this time.