This version replaces 2.303.2.3, which contained issues that prevented some customers from upgrading. CloudBees has included all of the release notes from version 2.303.2.3 in this version of the release notes as a courtesy for customers who skipped version 2.303.2.3. |
New features
- A new Freestyle job build step has been added to the operations center to synchronize Configuration as Code bundles from an SCM repository (BEE-8195)
-
A new Synchronize bundles from workspace with internal storage build step has been added to Freestyle jobs in the operations center to synchronize controller CasC bundles from an SCM repository when bundles are added, updated, or deleted from the SCM tool. This build step eliminates the need to use an Execute shell build step with custom scripts to synchronize the CasC bundles. For more information, refer to Loading controller CasC bundles from an SCM tool to the operations center.
Feature enhancements
- The User Activity Monitoring plugin has been improved (BEE-7394)
-
The User Activity Monitoring plugin is now installed automatically to the operations center and controllers and aggregates user activity data from connected controllers in the operations center. The User Activity Monitoring plugin also tracks usernames and emails, allows you to filter activity based on a specified number of days or months, and performs basic user deduplication automatically.
When upgrading, existing user activity data is automatically migrated. If using the operations center to manage multiple controllers, a cluster operation, API token, and scripts are no longer required to aggregate data or run reports. The operations center automatically aggregates the controller data, stores the existing migrated events, retrieves all new events, and allows you to generate reports from the User Activity dashboard.
For more information, refer to Count and monitor user licenses with the CloudBees User Activity Monitoring plugin.
- The CasC for controllers
casc-bundle-list
CLI command andGET casc-bundle/list
HTTP API endpoint have been improved (BEE-6351) -
The
casc-bundle-list
CLI command andGET /casc-bundle/list
HTTP API endpoint now includeusedBy
andavailableFor
in the response, to list the names of controllers currently assigned to the CasC bundle and controllers that can be assigned to a CasC bundle based on the bundle’s availability pattern, respectively. For more information, refer to Configuration as Code (CasC) CLI and Configuration as Code (CasC) HTTP API. - The Java Development Kit (JDK) format for CasC Freestyle jobs has been improved (BEE-7150)
-
When creating or exporting a CasC
items.yaml
file, the JDK format in Freestyle jobs has been simplified.The legacy JDK format is backwards compatible and still valid when creating or exporting the CasC
items.yaml
file.
Resolved issues
- Fixed a regression in the RPM install package (BEE-9139)
-
In release 2.303.2.3, the RPM package configuration was not correctly applied. As a result, when you upgraded, the operations center and client controllers restarted as if they were a new instance.
This issue has been resolved in release 2.303.2.5.
- The upgrade process prevented CloudBees CI from starting if there were pending folder approvals (BEE-9156)
-
In the case that there was a pending approval of an agent for a specific folder, the upgrade process prevented the instance from starting. This only happened if the approved folder process was not completed before the upgrade process started. There was no risk for approved folders that were already configured.
This issue has been resolved.
- Increased High Availability (HA) default timeout (BEE-106)
-
The HA default timeout of 10 seconds was too aggressive for most customers, and frequently resulted in HA failover.
The default timeout has been increased to 30 seconds. You can change the default timeout setting in the Jenkins configuration settings.
- Exported CasC configurations that contained an empty environment variable generated an invalid property (BEE-8571)
-
If the CasC
items.yaml
file contained an empty environment variable for a Folder, Multibranch Pipeline job, GitHub Organization or a Bitbucket Team/Project item and the current CasC configuration was exported, the environment variable was exported as- {}
, and the YAML could not be used to create a new item.This issue has been resolved.
- When exporting the current CasC controller configuration, folders were only exported if allowed items were restricted (BEE-8945)
-
This issue has been resolved. When exporting the current CasC controller configuration, folders are included in the exported
items.yaml
file and allowed items do not have to be restricted.This issue has been resolved.
- If the Jenkins Configuration as Code plugin was not installed, the CloudBees Configuration as Code export and update screen failed to load (BEE-5523)
-
If the Jenkins Configuration as Code plugin was not installed and Check for updates was selected from the CloudBees Configuration as Code export and update screen, the update page failed to load.
This issue has been resolved. If Check for updates is selected, the new version of the bundle is now detected and the update page properly loads. Once the updated bundle is applied, the instance can be safely restarted.
- The operations center and controllers using CasC returned a non-descriptive NullPointerException (BEE-6193)
-
If any of the files in a CasC bundle were renamed and the updated bundle was loaded to the operations center or a controller, a non-descriptive NullPointerException was returned.
This issue has been resolved. A validation is now performed before the bundle is loaded and a descriptive error is returned.
- The
casc-bundle/regenerate-token
HTTP API endpoint did not reset the token in the operations center (BEE-7364) -
When the
casc-bundle/regenerate-token
HTTP API endpoint was called, no response was returned and the token was not properly reset.The
casc-bundle/regenerate-token
HTTP API endpoint now supports the generated bundle ID or the full controller name. The new token is also returned as part of the response if the call ends successfully. - An updated CasC bundle was loaded without verifying the YAML was valid (BEE-7373)
-
If a CasC bundle was updated and Reload Configuration was selected from the Configuration as Code export and update screen, the bundle was loaded without verifying if the YAML was valid, potentially resulting in an inconsistent bundle state.
This issue has been resolved. The CasC bundle is now verified before it is reloaded. If it contains invalid YAML, the bundle is not loaded.
- If an existing CasC controller bundle was updated to use bundle inheritance, the update was not applied to the CasC bundle (BEE-7399)
-
If the
parent
field in the CasC controller’sbundle.yaml
file was updated to use bundle inheritance, when the controller was restarted, the parent bundle was ignored and the change was not applied.This issue has been resolved.
- The
cascBundleToken
andlicensing
essential properties are no longer exported in the operations center CasCitems.yaml
file (BEE-7509) -
If the
cascBundleToken
andlicensing
essential properties were removed from the operations center’sitems.yaml
file, controller item creation may not have been successful.These properties are no longer exported as part of the current configuration’s
items.yaml
file and you do not need to add the properties to theitems.yaml
file. Both properties are now handled internally. - Duplicate build steps and post-build steps defined in the CasC
items.yaml
file on each instance restart (BEE-7611) -
When a Freestyle job item was created using CasC, the build step and post-build step were duplicated on each instance restart and in the exported CasC configuration.
This issue has been resolved. The build steps now correspond with the build steps defined in the CasC
items.yaml
file. - The operations center startup failed if controller bundles contained invalid YAML (BEE-7647)
-
A malformed controller bundle stored in the operations center’s
jcasc-bundles-store
directory prevented the operations center from starting.This issue has been resolved. The controller bundle YAML files stored in the operations center’s
jcasc-bundles-store
directory are now validated. Bundles containing invalid files are ignored and a warning is logged. - If the
optOutProperty
was included in the operations center CasCitems.yaml
file for controller items, a warning message was displayed and the operations center failed to restart (BEE-7679) -
This issue has been resolved. The
optOutProperty
is now configurable in the operations centeritems.yaml
file for controller items. If the operations center CasC bundle is updated and Reload Configuration is selected from the Configuration as Code export and update screen, a warning is no longer displayed and the operations center properly restarts. - An error occurred when exporting a Freestyle job with a
BuildTrigger
(BEE-8173) -
If two Freestyle jobs were created and one of the Freestyle jobs had a
BuildTrigger
, when the current CasC configuration’sitem.yaml
file was exported, an error occurred.This issue has been resolved. The error no longer appears and the items are properly exported. The
BuildTrigger
also now has a threshold for triggering. - Top-level job properties defined in the operations center CasC
items.yaml
file were duplicated (BEE-8207) -
If Reload Configuration was selected from the CloudBees Configuration as Code export and update screen or if the operations center instance was restarted, job properties defined in the operations center CasC
items.yaml
file were duplicated for Freestyle jobs, Organization folders, and properties without a set method.This issue has been resolved.
- BitBucket Teams API was deprecated, causing scans to stop working (BEE-8087)
-
Organization scans no longer worked because
teams
were deprecated in the BitBucket Teams API.The API has been updated to use the new
workspace
API. - Job reloads registered the same trigger event multiple times (BEE-7121)
-
When you used the
publishEvent
step to trigger downstream jobs from upstream jobs, the same trigger event was being registered multiple times.This issue has been resolved. Now,
TriggerEvent
andWorkflowJob
can only be registered one time.
Known issues
- Spaces in configuration for
systemd
caused Java startup to fail (BEE-7072) -
After upgrading, you may find that Java fails to start, causing an error. This could result from having spaces in the
systemd
configuration.To configure CloudBees CI to support spaces in the
systemd
configuration, add the following arguments to the Jenkins service configuration file:JENKINS_JAVA_OPTIONS=(-Djava.awt.headless=true)
JENKINS_JAVA_OPTIONS+=("-Dkey=value with spaces")
For most RedHat and CentOS distributions, the service configuration file is located at: /etc/sysconfig/cloudbees-core-oc.
- Move/Copy/Promote error (BEE-9464)
-
Some Move/Copy/Promote operations fail with an error when you attempt to use them between two non-local controllers. When this occurs, Move/Copy/Promote operations do not work for any non-local scenarios until the controller is restarted.
This is a known issue. It will be fixed in a future release. If you experience this issue, please refer to the following knowledge base article for more information and a workaround:
- Folder and Pipeline job properties defined in the operations center CasC
items.yaml
file are duplicated (BEE-8679) -
If Reload Configuration is selected from the CloudBees Configuration as Code export and update screen or if the operations center instance is restarted, Folder and Pipeline job properties defined in the operations center CasC
items.yaml
file are duplicated. This will be corrected in a future version.