CloudBees CI release highlights

What’s new in CloudBees CI 2.346.3.4

Watch the video

New features

Introduced a SSH connection check button for shared and static agents (BEE-19131)

A new Test SSH Connection button was added to the configuration form for both shared and static agents. This button verifies the connection to the agent and validates that the credentials and connection details are correct.

For more information, refer to Testing the SSH connection to an agent.

New page can access the historical data of bundles assigned to the controller validations (BEE-10556)

A new table is now available at the controller’s item management page in the operations center. The table displays the historical bundle validation data; validation state, number of errors and warnings, bundle version, and validation date.

The validation reports can be downloaded from the historical data table. For more information, refer to Troubleshooting CasC for controllers

New HTTP endpoint was added to view the validation log (BEE-19654)

A new HTTP endpoint lets you view the validation log in JSON format. The output can be filtered to controllers by specifying the controller id as a simple string or regexp.

This endpoint provides the last five effective bundle structural validations for each filtered controller. For more information, refer to Configuration as Code (CasC) HTTP API

New CLI command was added to view the validation log (BEE-19656)

A new CLI command lets you view the validation log in JSON format. The output can be filtered by specifying the controller id as a simple string or a regexp.

This CLI command provides the last five effective bundle structural validations for each filtered controller. For more information, refer to Configuration as Code (CasC) CLI

Feature enhancements

The Load CasC Bundles left action should not show if not enabled (BEE-15407)

The Load CasC Bundles left action is not visible if there are no sources of bundles defined or if it is not enabled.

Addressed excessive classloading when calling shared agents and clouds (BEE-20804)

When processing requests for shared agents or shared clouds, CloudBees observed excessive classloading and locking under heavy scale.

This area has been updated to require much less classloading and locking to allow for improved scaling.

Enriched the HTTP endpoint retrieving the raw validation log (BEE-20917)

A new boolean parameter controller is added to enrich the current JSON result with the controllers` effective validation logs assigned with the bundle.

If the controller boolean parameter is true, each raw bundle validation log has a new controllers item that lists all of the effective validation logs for the related bundle.

If the controller parameter is not defined, no controller is processed and there will be no controllers item in the result.

Enriched the CLI command that retrieves the raw validation log (BEE-20918)

The new parameter -c is added to enrich the current JSON result with the controllers' effective validation logs assigned with the bundle.

If the -c parameter is set, each raw bundle validation log has a new controllers item that lists all of the effective validation logs of the related bundle.

If the -c parameter is not defined, no controller is processed and there will be no controllers item in the result.

Added a disable-jnlp-cloud-agent CLI command (BEE-20940)

A new update was introduced, allowing you to manually bulk disable agents, when there is a low load, to reduce costs. The new CLI lets you disable agents for particular clouds.

Added the bundle name to the Validation Log (BEE-21077)

The bundle name is displayed in the first column of the bundle validation log table in the controller > Manage page. If the bundle has changed, you can now see which bundle corresponds to each row.

Refactored code using the new API from the Pipeline: API plugin (BEE-21248)

In this release, some source code was removed in favor of a new API that was introduced in the Pipeline: API plugin. This update reduces technical debt and prevents code duplication.

Resolved issues

Fixed Move/Copy/Promote dialog (BEE-471)

Fixed size and appearance issues with the Move/Copy/Promote dialog.

Plugin Catalog installation fails randomly if a URL is used (BEE-6303)

The coordinates.json file can become corrupt if a read operation occurs at the same time as a write operation when the plugin catalog defines the plugins that use the URL during low system performance. In these cases, the file is not parsed and this prevents errors.

ComputedFolders do not schedule a build when created with CasC (BEE-16746)

ComputedFolders now schedule a build when they are newly created or modified in the following relevant fields:

  • Organization folders: any change in properties, build strategy, SCM navigators, or factories

  • Workflow multibranch projects: any change

Indexing is not triggered if the item is disabled.

Inconsistent validation for availabilityPattern when UI regex is set (BEE-18032)

Validation occurs when a bundle is configured through regexp and the raw bundle contains changes.

Instead of creating an error in the CloudBees Configuration as Code bundles page, it creates the following warning:

WARNING - [DESCVAL] - Availability pattern for bundle {bundle name} is defined in the UI. The value from the bundle.yaml file is ignored.

When the same bundle is in two different locations, the instance crashes (BEE-19324)

The left-side action page now captures the possible errors, avoiding the error screen and showing the error details.

User interface (UI) updates (BEE-19557, BEE-19564, BEE-19565, BEE-19567, BEE-19568, BEE-19569, BEE-20071)

CloudBees is addressing all icon compatibility and inconsistency issues with the Jenkins LTS 2.346 upgrade.

Removed Pendo feedback link from Slack messages (BEE-19740)

The internal testing period is over, the feedback link is no longer required for messages sent to Slack.

The feedback link was removed.

Validation entries are not recording when the instance is starting up (BEE-19962)

If the Controller Bundle Location Service detected a new bundle or a new version of an existing bundle during the start up process, the validation entry was not recorded.

This issue is now fixed.

Fixed access control issues in CloudBees Role-Based Access Control Plugin’s API (BEE-20211)

The CloudBees Role-Based Access Control Plugin previously allowed users to configure group role assignments with only the Group/Manage permission when using the REST API or the Jenkins CLI.

The REST API and CLI commands now only require the Group/Configure permission to make changes to group role assignments. This issue has been resolved.

Bundles referring files that cannot be found are constantly validated (BEE-20432)

When the bundle.yaml file refers files or directories that do not exist, the bundle is duplicating the validation message. If the polling is active, the bundle is always validated and this floods the logs.

This issue is now resolved.

Fixed incorrect lock on RBAC group (BEE-20582)

A write lock was applied to one of the read operations on a group, causing thread contention issues.

This issue has been resolved. A read lock is now used to prevent issues.

A NullPointerException returned during the check for new bundle versions causes a Jenkins error page to be displayed (BEE-20642)

If a NullPointerException is returned during the check for a new bundle version, the error was not properly handled and the Jenkins error page was displayed.

The NullPointerException now displays the same error message as the other exceptions.

A NullPointerException is returned when the items.yaml file is validated (BEE-20643)

If there is a new available version of a bundle, this bundle is validated. If the new version contains an items.yaml file that configures a GitHub Organization, Bitbucket project, or Multibranch Pipeline, a NullPointerException is returned if the item does not include the disabled property.

The issue is now fixed and the default value is recognized.

Multiple Plugin Catalog Validator is not correctly executed when the bundle is stored using the Controller Bundle Location service (BEE-20813)

If a bundle with more than one Plugin Catalog is stored through the Controller Bundle Location Service, the validation is not executed and the warning message is not displayed.

This issue is now fixed.

User Activity Monitoring Plugin creates duplicate records due to case insensitivity (BEE-20824)

When a user logs in as the same username with a different case, the User Activity Monitoring Plugin logged two records, even though the user is accessing the same account. This is because usernames are case sensitive.

This issue has been resolved.

Added Group#members attribute back to the CloudBees role-based access control (RBAC) HTTP API (BEE-21273)

In version 5.64 of the CloudBees Role-Based Access Control Plugin, the Group#members attribute was split into Group#users and Group#groups attributes.

With this fix, the Group#members attribute was added back to the API. It includes both users and groups.

Non-existent classes cause error after Kube Agent Management Plugin update (BEE-22202)

Some classes were removed from the Kubernetes Plugin, causing the Kube Agent Management Plugin to fail and produce an error.

This issue has been resolved. The Kube Agent Management Plugin no longer relies on the classes that were removed.

The offline Update Center signature expires potentially and old versions of the product do not start up (BEE-10093)

The offline Update Center can only be updated by upgrading the WAR file and the WAR file is trusted, giving no added security by signing the file that is inside the WAR file. The product might not start up when the certificate that is used to sign the JSON is no longer valid (occurs if the product had not been upgraded in a long time). The JSON embedded inside the WAR file is no longer signed.

Known issues

Jenkins logs are not appended to the service log file in an RPM installation that uses Java 8 (BEE-20636)

If you use an RPM to upgrade the product while using Java 8, the Jenkins logs are no longer appended to the following configured service log by default: /var/log/cloudbees-core-[cm|oc]/cloudbees-core-[cm|oc].log

You should migrate to Java 11 to resolve this issue. For more information, refer to Migrating to Java 11.

Duplicate Pipeline Template Catalogs in the Configuration as Code jenkins.yaml file on each instance restart (BEE-12722)

If a Pipeline Template Catalog is configured in the CasC jenkins.yaml file and the id property is not defined, the catalog is duplicated on each instance restart and in the exported CasC configuration.

Upgrade notes

Migration to Java 11 will soon be required for new releases (BEE-42)

The Jenkins community will support Java 11-specific features soon (Java 11 byte code), and then you cannot use a Java 8 runtime environment. Because CloudBees CI on traditional platforms is based on the Jenkins LTS, future releases of CloudBees CI on traditional platforms will have the same requirement.

CloudBees strongly recommends that you upgrade your CloudBees CI on traditional platforms environment to run Java 11 as soon as possible. Some of the Java 11 updates may require action on your part, and there may be a specific order in which you must upgrade components in your environment. For more information, refer to Migrating to Java 11.

When you upgrade to Java 11, you must update your Java garbage collection arguments (BEE-16018)

Garbage collection has been updated in Java 11. Many of the previously recommended arguments are no longer supported. When you upgrade your JDK to Java 11, you must also update your garbage collection configuration. Using unsupported Java arguments will result in startup failure.

Jenkins upgrade notes

Jenkins 2.346 upgrade notes