Supported platforms for CloudBees CI on traditional platforms

6 minute read

When running CloudBees CI on traditional platforms, consult this page for supported platforms.

Java support

The following sections detail Java support for CloudBees CI on traditional platforms.

Supported Java application servers

For CloudBees CI on traditional platforms, CloudBees recommends running it as a standalone application installed with one of the following:

  • java -jar cloudbees-core-cm.war

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

CloudBees also supports running CloudBees CI on traditional platforms 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

8.5.0

Apache Tomcat 9.0

9.0.0

Supported JDK versions

CloudBees supports JDKs provided by either Oracle or OpenJDK for only the following versions:

  • Oracle JDK 11 or Oracle JDK 17 - 64 bits

  • OpenJDK JDK 11 or OpenJDK JDK 17 - 64 bits

Java 17 is recommended to run CloudBees CI version 2.440.1.3 or later. Java 11 is required to run CloudBees CI version 2.361.1.2 or later. Support for Java 8 has been discontinued; you cannot run the operations center, controllers, or agents on Java 8.

CloudBees Support may ask you to move forward to a specific update release (for example, _uXX) of a currently supported JDK/JRE 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.

Plugin compatibility

CloudBees endeavors to build plugins against the JDK that corresponds to the minimum Java requirements of the oldest supported CloudBees CI on traditional platforms 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.

Supported Docker environments

CloudBees supports running CloudBees CI on traditional platforms in Docker containers, subject to the following constraints:

  1. The Docker image must be the image provided by CloudBees, which is cloudbees/cloudbees-core-cm or cloudbees/cloudbees-core-oc for CloudBees CI on traditional platforms

  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).

  3. The Docker environment cannot be managed by a container orchestration tool or cluster manager such as Kubernetes, OpenShift, Docker Swarm, Mesos, or Amazon ECS.

ARM64

CloudBees distributes Docker container images for ARM64 architecture for CloudBees CI on traditional platforms.

Supported operating systems

CloudBees CI on traditional platforms is supported on the following platforms as long as the operating system is actively supported by the vendor:

  • Debian

  • Red Hat Enterprise Linux

  • Ubuntu

  • CentOS

  • Fedora

  • openSUSE

  • Amazon Linux 2

  • 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 network filesystems

CloudBees does not support Microsoft CIFS/SMB network filesystems. This is due to known Java issues with file locking on CIFS that cause problematic behavior.

CloudBees supports the following versions of NFS:

  • NFS v.3.x

  • NFS v4.1 and higher

There are known performance issues with NFS v4.0. CloudBees supports NFS v4.1 and higher, but CloudBees does not support NFS v4.0.

Amazon Elastic File System (Amazon EFS) support

CloudBees supports Amazon EFS as a storage backend for CloudBees CI. However, like any technology, Amazon EFS comes with tradeoffs that should be explored and understood.

You can use EFS to create a volume available across multiple Availability Zones. However, this comes at the cost of both performance and a higher price. Due to EFS’s nature, it will almost always perform slower than EBS, which some will find unacceptable. For fine-tuning the EFS performance configuration, please refer to Amazon’s documentation: https://aws.amazon.com/premiumsupport/knowledge-center/linux-efs-performance-modes/.

Although rare, customers have encountered issues with the default settings (Burst Credits), resulting in a complete outage of the platform.

If you open a support case about a problem with CloudBees CI on Amazon EFS, we will work with you to ensure that the CloudBees CI product is working correctly. If we believe that the problem is due to the performance of Amazon EFS, we may ask you to open a support case with Amazon to resolve the issue. In some rare situations, the CloudBees CI product may be working as intended, and the CloudBees support ticket may be closed without resolution of the reported problem.

High Availability plugin support

High Availability (HA) on a Windows environment is not supported.

Configuration as Code support

Configuration as Code is supported in CloudBees CI on traditional platforms as of May 2020.

Tier 1 and Tier 2 plugins support for Configuration as Code

The following plugins support Configuration as Code (CasC).

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

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

Table 1. List of plugins in CloudBees Assurance Program supporting Configuration as Code
Plugin Name Minimum version Configuration example

active-directory

2.16

https://github.com/jenkinsci/active-directory-plugin/blob/5b9401f6213a5fe24ef4bb0009cf7d8b644ff483/src/test/resources/hudson/plugins/active_directory/configuration-as-code.yaml

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

aws-credentials

1.28

https://github.com/jenkinsci/aws-credentials-plugin/blob/2ae45df5330d9e64a574979736def83fa8dece0f/src/test/resources/com/cloudbees/jenkins/plugins/awscredentials/configuration-as-code.yaml

aws-global-configuration

1.4

https://github.com/jenkinsci/aws-global-configuration-plugin/blob/80f300120402cdd3bb9303c365260f80ef351ac0/src/test/resources/io/jenkins/plugins/aws/global_configuration/configuration-as-code.yaml

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-bitbucket-branch-source

2.4.0

https://github.com/jenkinsci/bitbucket-branch-source-plugin/blob/master/src/test/resources/com/cloudbees/jenkins/plugins/bitbucket/endpoints/BitbucketEndpointConfigurationTest/configuration-as-code.yml

cloudbees-cache-step

1.1

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

cloudbees-cloudfoundry-cli

2.1.6

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloudbees-cloudfoundry-api-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-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-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-pipeline-explorer

0.10

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

cloudbees-plugin-usage

2.7

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

cloudbees-request-filter

1.7

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/cloudbees-request-filter-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

docker-commons

1.17

https://github.com/jenkinsci/docker-commons-plugin/blob/3186bed061262e8a40cde9038ac3f6661339ea6f/src/test/resources/org/jenkinsci/plugins/docker/commons/casc_symbols.yaml

docker-workflow

1.23

https://github.com/jenkinsci/configuration-as-code-plugin/blob/master/demos/docker-workflow/README.md

dockerhub-notification

2.5.0

https://github.com/jenkinsci/dockerhub-notification-plugin/blob/b635fd1979c47a8c8cc17a1635921dcc56ad9fca/src/test/resources/jcasc_symbols.yaml

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

github

1.29.5

https://github.com/jenkinsci/github-plugin/blob/master/src/test/resources/org/jenkinsci/plugins/github/config/configuration-as-code.yml

gitlab-branch-source

680.vc179a_1a_37915

https://github.com/jenkinsci/gitlab-branch-source-plugin/blob/2ae358978692543daa07fd25b40e49dc525f9eb0/src/test/resources/io/jenkins/plugins/gitlabserverconfig/casc/configuration-as-code.yml

google-compute-engine

4.3.0

https://github.com/jenkinsci/google-compute-engine-plugin/blob/develop/src/test/resources/com/google/jenkins/plugins/computeengine/configuration-as-code.yml

google-oauth

1.0.2

https://github.com/jenkinsci/google-oauth-plugin/tree/develop/src/test/resources/com/google/jenkins/plugins/credentials/oauth

gradle

1.30

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

jdk-tool

1.4

https://github.com/jenkinsci/jdk-tool-plugin/blob/9b72725d718a91bf1a57445652263f52e59bb984/src/test/resources/hudson/tools/casc.yaml

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

kubernetes-credentials

0.7.0

https://github.com/jenkinsci/kubernetes-credentials-plugin/blob/be230e03b7d10f2a6925b64b5fe5acf4069d6593/src/test/resources/org/jenkinsci/plugins/kubernetes/credentials/configuration-as-code.yaml

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

matrix-auth

2.4

https://github.com/jenkinsci/matrix-auth-plugin/blob/master/src/test/resources/org/jenkinsci/plugins/matrixauth/integrations/casc/configuration-as-code-v3.yml

metrics

4.0.2.4

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

nodejs

1.3.6

https://github.com/jenkinsci/nodejs-plugin/blob/2f2bb53821e36c36d4348e66bac5ff61474c76da/src/test/resources/jenkins/plugins/nodejs/configuration-as-code.yaml

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

operations-center-webhooks

3.0.76

https://github.com/cloudbees/cloudbees-examples/tree/master/cloudbees-ci/configuration-as-code-examples/operations-center-webhooks/configuration-as-code.yml

pam-auth

1.6

https://github.com/jenkinsci/pam-auth-plugin/blob/master/src/test/resources/config.yaml

pipeline-maven

1333.v333b_b_f053972

https://github.com/jenkinsci/pipeline-maven-plugin/blob/master/pipeline-maven/src/test/resources/org/jenkinsci/plugins/pipeline/maven/configuration-as-code_mysql.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/main/src/test/resources/hudson/plugins/sshslaves/SSHCasCConfig.yml

support-core

2.68

https://github.com/jenkinsci/support-core-plugin/blob/31ffccfe8004ac9f52d8cac813eba94d46e1bf61/src/test/resources/com/cloudbees/jenkins/support/configuration-as-code.yaml

trigger-restrictions

1.3

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

timestamper

1.11.4

https://github.com/jenkinsci/timestamper-plugin/tree/5a129da1acf510c32582d7f4bfa4fb4fc4471b0e/src/test/resources/hudson/plugins/timestamper

Supported browsers

CloudBees CI only supports the following web browsers:

  • Apple Safari: Version 10 and later on OS X 10.10 and later.

  • Google Chrome: Latest regular release on all supported desktop operating systems.

  • Microsoft Edge: Latest regular release on all supported desktop operating systems.

  • Mozilla Firefox: Latest regular release and latest ESR release on all supported desktop operating systems.

Web browser extensions such as AdBlock Plus for Google Chrome can interfere with the display of the CloudBees CI web pages. You should disable any ad blocking browser extensions or add an exclusion for the CloudBees CI web pages.

Version skew between the operations center and controllers

CloudBees supports client controllers that run the same version as the operations center or any earlier version that was supported when that version of the operations center was released.

As an example, when CloudBees CI on traditional platforms 2.346.1.4 was released, versions 2.277.4.4 through 2.346.1.4 were supported. CloudBees supports connecting any controller within that range to version 2.346.1.4 operations center. For more information about the support lifecycle, refer to CloudBees maintenance lifecycle policies.

Upgrading between versions

CloudBees supports upgrading CloudBees CI to a version up to one year later than your current version.

As an example, if you are running CloudBees CI on traditional platforms 2.263.4.2, that was released on February 26, 2021, you should first upgrade both your operations center and any controllers to a version up to one year later, such as CloudBees CI on traditional platforms 2.319.3.4, that was released on February 15, 2022. When that upgrade is successful, you can upgrade again to a version up to one year later.

CloudBees support can help you plan and prepare for your upgrade, for more information, refer to Required Data: Assisted Update.