Supported platforms for CloudBees Jenkins Distribution

Java support

The following sections detail Java support for CloudBees Jenkins Distribution.

Supported Java application servers

For CloudBees Jenkins Distribution, CloudBees recommends running it as a standalone application installed with one of the following:

  • java -jar cloudbees-jenkins-distribution.war

  • The native package for Red Hat (.rpm), Debian/Ubuntu (.deb) or Windows (.msi)

CloudBees also supports running CloudBees Jenkins Distribution on Java application servers with the following requirements:

  1. The WAR application must be the only web application running on the Java application server.

  2. The restart capabilities of the application server must not be used; the instance must be restarted either via the JVM or using the instance’s built-in restart function.

CloudBees only supports two versions of Apache Tomcat and strives to support the latest GA version.
Application Server Minimum Version End Of Support

Apache Tomcat 8.0 and lower

Not supported

2017-03-01

Apache Tomcat 8.5

v8.5.0

2019-10-31

Apache Tomcat 9.0

9.0.0

Supported JDK versions

CloudBees supports only JDKs or JREs provided by either Oracle or OpenJDK (either from OpenJDK or Red Hat) for the following versions:

  • Oracle JRE / JDK 8 - 64 bits

  • Oracle JDK 11 - 64 bits

  • OpenJDK JDK / JRE 8 - 64 bits

  • OpenJDK JDK 11 - 64 bits

In some cases, to fix a problem, CloudBees may occasionally require you to move forward to a specific update release (for example, _uXX) of a currently supported JDK/JRE version.

If you are not running a supported JDK version, CloudBees Support may ask you to move to a supported JDK version before diagnosing your problem. If you are running an outdated version of a supported JDK, CloudBees Support may ask you to move to a more recent JDK version since the more recent version may benefit from bug fixes and performance improvements. CloudBees recommends you keep your JDK version up-to-date.

End of public updates for Oracle Java 8

Oracle Java 8 reaches the end of public updates in December 2020.

Plugin compatibility

CloudBees endeavors to build plugins against the JDK that corresponds to the minimum Java requirements of the oldest supported CloudBees Jenkins Distribution version.

CloudBees tests its binaries and plugins against the supported JDKs.

Some third party plugins may have different requirements which are outside of CloudBees control. Where a third party plugin is bundled within a CloudBees product, CloudBees endeavor to ensure that the plugins’ Java requirements are compatible with our supported Java versions.

If you are using a plugin that is not in the CloudBees Assurance Program, be sure that you are using the most recent possible version of the plugin.

Supported Docker environments

CloudBees supports running CloudBees Jenkins Distribution in Docker containers, subject to the following constraints:

  1. The Docker image must be the image provided by CloudBees, which is cloudbees/cloudbees-jenkins-distribution for CloudBees Jenkins Distribution

  2. The Docker Engine used to run these containers must run on a Linux platform and must be a standalone Docker Engine provided by Docker, Inc. or by a Linux distribution provider (such as Red Hat or CentOS).

Supported operating systems

CloudBees Jenkins Distribution is supported on the following operating systems as long as the operating system is actively supported by the vendor:

  • Debian

  • Red Hat Enterprise Linux

  • Ubuntu

  • CentOS

  • Fedora

  • openSUSE

  • Microsoft Windows

There are no universally applicable OS-level requirements. Some customers find that they need to increase the per-process open files limit on Linux (ulimit -n); or increase the maximum size of the Java heap or permanent generation (refer to JVM tuning guides for specifics).

Supported Kubernetes

For CloudBees Jenkins Distribution, CloudBees supports Kubernetes 1.x, starting with 1.11, as long as it is actively supported by the Kubernetes distribution provider and is one of the following implementations:

  • Amazon EKS

    The version used must be Generally Available. CloudBees does not support or recommend "proof of concept" offering of Kubernetes platforms or Beta or Public preview versions.

    CloudBees Jenkins Distribution might work on other Kubernetes implementations such as Azure Kubernetes Service (AKS) or Google Kubernetes Engine (GKE) if it is installed as a Kubernetes Helm Chart, but CloudBees does not fully support these platforms. Red Hat OpenShift is not supported for the moment.

CloudBees only supports CloudBees Jenkins Distribution on Kubernetes when it is installed using the official CloudBees Jenkins Distribution Helm charts.

Supported Helm

CloudBees supports only production releases of Helm: RC, beta, patch or experimental releases of Helm are not supported.

  • Starting with CloudBees Core on modern cloud platforms version 2.204.3.4, Helm version 3.0.2 or later

Helm V2

  • Helm client, production release version 2.x, starting with version 2.12, installed locally.

  • If you are using Helm to manage your application deployment: Tiller server production release version 2.x, starting with version 2.12, installed on your Kubernetes cluster.

We recommend that you migrate to Helm V3 as soon as possible. Support of Helm V2 will be deprecated in July 2020.

Configuration as Code support

As of August 2019, the Configuration as Code Plugin is supported as a Preview for CloudBees Jenkins Distribution.

Documentation for Configuration as Code with CloudBees Jenkins Distribution is published as Configuration as Code in CloudBees Jenkins Distribution. This page also contains quick-start instructions and known limitations.

About technical previews

A Preview feature:

  • Has not undergone end-to-end testing with CloudBees products

  • Is provided without service-level agreements (SLA) and therefore does not include CloudBees' commitment on functionality or performance

  • May impact other stable areas of the product when used

  • May have limited documentation

  • May not be feature complete during the Preview period

  • May graduate from preview state to fully supported or be removed from the product

  • May introduce incompatible, backward-breaking changes that could revoke the ability to upgrade

Tier 1 plugin support for Jenkins Configuration as Code

The following plugins support Jenkins Configuration as Code (JCasC).

If you don’t see a plugin in this list, this can mean one of two things: that plugin does not support JCasC or that plugin does not require configuration.

This list of plugins applies to CloudBees Core, CloudBees Jenkins Distribution, and CloudBees Jenkins Platform.

These plugins are not supported on Operations Center.
Table 1. List of plugins in CAP supporting Configuration as Code
Plugin Name Minimum version Configuration example

ant

1.10

https://github.com/jenkinsci/ant-plugin/blob/master/src/test/resources/hudson/tasks/configuration-as-code.yaml

antisamy-markup-formatter

1.6

https://github.com/jenkinsci/antisamy-markup-formatter-plugin/blob/master/src/test/resources/hudson/markup/configuration-as-code.yaml

artifact-manager-s3

1.1

https://github.com/jenkinsci/artifact-manager-s3-plugin/blob/master/src/test/resources/io/jenkins/plugins/artifact_manager_jclouds/s3/configuration-as-code.yml

cloudbees-assurance

2.138.0.13

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloudbees-assurance-plugin/configuration-as-code.yml

cloudbees-cyberark-credentials

1.0.5

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloudbees-cyberark-credentials-plugin/configuration-as-code.yml

cloudbees-even-scheduler

3.10

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloudbees-even-scheduler-plugin/configuration-as-code.yml

cloudbees-jenkins-advisor

3.0

https://github.com/jenkinsci/cloudbees-jenkins-advisor-plugin/blob/master/src/test/resources/com/cloudbees/jenkins/plugins/advisor/casc/configuration-as-code.yaml

cloudbees-label-throttling-plugin

3.8

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloudbees-label-throttling-plugin/labelLimits.yaml

cloudbees-monitoring

2.9

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloudbees-monitoring-plugin/configuration-as-code.yml

cloudbees-nodes-plus

1.20

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloudbees-nodes-plus-plugin/configuration-as-code.yml

cloudbees-ssh-slaves

2.7

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloudbees-ssh-slaves-plugin/configuration-as-code.yml

config-file-provider

3.4

https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/config-file-provider

credentials

2.2.0

https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/credentials

electricflow

1.1.14

https://github.com/jenkinsci/electricflow-plugin/blob/master/src/test/resources/casc/configuration-as-code.yml

git

3.10.1

https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/git

github-branch-source

2.5.8

https://github.com/jenkinsci/github-branch-source-plugin/blob/master/src/test/resources/org/jenkinsci/plugins/github_branch_source/configuration-as-code.yaml

git-validated-merge

3.27

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/git-validated-merge-plugin/configuration-as-code.yml

gradle

1.30

https://github.com/jenkinsci/gradle-plugin/blob/master/src/test/resources/hudson/plugins/gradle/ConfigurationAsCodeTest/configuration-as-code.yml

kube-agent-management

1.1.32

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/kube-agent-management-plugin/configuration-as-code.yml

kubernetes

1.25.3

https://github.com/jenkinsci/kubernetes-plugin/tree/master/src/test/resources/org/csanchez/jenkins/plugins/kubernetes/casc

ldap

1.16

https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/ldap

mailer

1.25

https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/mailer

master-provisioning-kubernetes

2.5.1

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloud-platform-master-provisioning-plugin/configuration-as-code.yml

metrics

4.0.2.4

https://github.com/jenkinsci/metrics-plugin/blob/master/src/test/resources/jenkins/metrics/configuration-as-code.yaml

msbuild

1.29

https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/msbuild

mstestrunner

1.3.0

https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/mstestrunner

notification-api

1.2

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/notification-api-plugin/configuration-as-code.yml

plain-credentials

1.5

https://github.com/jenkinsci/plain-credentials-plugin/blob/master/src/test/resources/org/jenkinsci/plugins/plaincredentials/ConfigurationAsCode.yaml

saml

1.1.3

https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/saml

script-security

1.64

https://github.com/jenkinsci/script-security-plugin/blob/master/src/test/resources/org/jenkinsci/plugins/scriptsecurity/scripts/smoke_test.yaml

secure-requester-whitelist

1.4

https://github.com/jenkinsci/secure-requester-whitelist-plugin/blob/master/src/test/resources/org/jenkinsci/plugins/secure_requester_whitelist/CasCTest.yml

skip-plugin

4.6

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/skip-plugin/skipGroupsFolder.yaml

ssh-credentials

1.17

https://github.com/jenkinsci/ssh-credentials-plugin/blob/master/src/test/resources/com/cloudbees/jenkins/plugins/sshcredentials/jcasc/configuration-as-code.yaml

ssh-slaves

1.30.0

https://github.com/jenkinsci/ssh-slaves-plugin/blob/master/src/test/resources/hudson/plugins/sshslaves/SSHCasCConfig.yml

trigger-restrictions

1.3

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/trigger-restrictions-plugin/labelLimits.yaml