CloudBees CD/RO v2023.02.0
CloudBees is pleased to announce the v2023.02.0 long-term support (LTS) release of CloudBees CD/RO. With this release, CloudBees added several new features and system improvements, including:
-
Removed the CGI module, scripts, and support
-
Added new platform support:
-
OpenShift 4.10 and 4.11
-
Kubernetes v1.25 is now supported and has been tested on AKS and GKE
-
-
Added new plugins:
-
Azure CLI
-
Azure DevOps
-
BringYourOwnDeployer
-
-
Added automatic navigation to the applicable CloudBees CD/RO feature when executing a Service catalog item template
-
Enhanced methods to simplify pipeline tasks definitions
-
Updated UI features:
-
Added the full parent to child path in the breadcrumb navigation
-
Added the ability to set release planned start and end times in the Release editor UI and DSL
-
Improved the UI design for Pipeline audit reports
-
Refer to New features and Feature enhancements below for more information.
Security fixes
- This release includes the following security updates to address potential vulnerabilities:
-
-
Apache net commons is upgraded to 3.9.0. [BEE-28877]
-
Elasticsearch is upgraded to 7.17.8. [BEE-29259]
-
Netty codec is upgraded to 4.1.86. [BEE-29117]
-
PHP is upgraded from 7.4.32 to 8.1.14. For details, refer to the PHP 8.1.14 Release Announcement. [BEE-29260]
-
New features
- Azure CLI plugin
-
The Azure CLI plugin allows you to run Azure CLI commands as part of your CloudBees CD/RO environment, and can be used to create and manage:
-
Virtual machines, nets, and subnets
-
Network security groups (NSGs)
-
Databases
-
SQL and NoSQL actions
-
For more information, refer to Azure CLI plugin.
- Azure DevOps plugin
-
Azure DevOps is an extension for the Azure CLI that allows you to manage many Azure DevOps Services from the command line. Using the Azure DevOps plugin, you can seamlessly integrate
az devops
commands into your CloudBees CD/RO projects to help automate your Azure DevOps workflows.
For more information, refer to Azure DevOps plugin.
- BringYourOwnDeployer plugin
-
The BringYourOwnDeployer plugin is a demo plugin released to the CloudBees GitHub community plugin repository. This plugin allows you to provide details about artifacts being deployed and undeployed using CloudBees CD/RO’s third-party deployment inventory interface.
Feature enhancements
- CGI module removed
-
CloudBees has removed the CGI module, which was used for
publishArtifacts
in the UI and for the CloudBees CD/RO plugin for Jenkins. - PHP now controls UI file upload limits
-
UI file upload limits are now controlled by PHP in
/opt/cloudbees/sda/apache/conf/php.ini
.
CloudBees has removed support for CGI. As a result, the default values were increased for the max_file_uploads
, post_max_size
, and upload_max_filesize
properties in the <data_dir>/apache/conf/php.ini
file.
The default values for the post_max_size
and upload_max_filesize
properties are the now same as the : /server/settings/maxUploadSize
property. Any change you make to the default setting of one these properties must be made to all properties.
You must restart your CloudBees web server each time you update values in the php.ini file.
|
After you upgrade your CloudBees CD/RO server to v2023.02.0, you must also upgrade your CloudBees web server. |
For default parameter values and more information, refer to Configuration settings preserved after an upgrade.
For more information, refer to Installation and upgrade notes.
- Automatic navigation to the applicable CloudBees CD/RO feature when executing a Service catalog item template
-
The end-target navigation specified in the
endTargetJson
field has been enhanced to include navigation to all Service catalog generated objects. Now when you select a self-service catalog item, you are automatically given an option to navigate to the created object.
For more information, refer to End-target navigation.
- Enhanced methods to simplify pipeline tasks definitions
-
The
createTask
andmodifyTask
methods of the Pipeline API have been enhanced to simplify command pipeline tasks definitions. Use the newcommand
,postp
, andshell
arguments to configure pipeline command tasks. This also allows a simpler DSL format for managing pipeline command tasks.
CloudBees continues to support the legacy format for backward compatibility. The generateDsl API will use the new format when generating DSL for command tasks.
|
For details regarding using ectool to configure command pipeline tasks, refer to Use the CloudBees CD/RO API to define tasks.
- UI enhancements
-
This release includes the following UI enhancements:
-
Added the full parent to child path to breadcrumb navigation. To view or access the path, select the folder icon in the upper left corner of the UI.
-
Improved the UI design for Pipeline audit reports
-
Added planned start and end times in the Release editor UI. You can now set the time in HH:MM format when you add or edit release start and end dates.
This enhancement is not backward compatible in DSL. You cannot import generated DSL of release objects from v2023.02.0 to earlier versions without manual changes.
-
Plugin enhancements
- CloudBees CD/RO plugins catalog
-
The CloudBees CD/RO plugins catalog is available on the CloudBees CD/RO documentation site.
For more information about plugin support and versioning, refer to Plugin Concepts.
- Plugin updates
AzureCLI 1.0.0 |
First release. |
AzureDevOps 1.0.0 |
First release. |
EC-Ansible 2.0.0 |
Plugin has been migrated to PDK. |
EC-AWS-EC2 1.0.18 |
Upgraded third-party dependencies. Added support for the new plugin configurations. |
EC-Core 1.3.3 |
Removed CGI scripts. |
EC-Jenkins 2.2.2 |
Previous configurations are deprecated and disabled. The Automation Platform UI no longer allows you to create new plugin configurations. If you select Create Configuration in the Automation Platform UI, you are now redirected to the Configure Plugin page in the CloudBees CD/RO UI. Fixed the Test Connection feature for SSL bump proxy configurations. |
EC-Nexus 2.2.0 |
Added a new Nexus Version plugin configuration parameter to manually select the Nexus version, instead of automatically defining it. Added a check and setting up version during extraction of a Nexus version. |
EC-SendEmail 1.1.2 |
Changed the Message parameter’s default option from |
EC-SonarQube 2.1.3 |
Fixed an issue with the Ignore SSL option for REST-based procedures (Get Last SonarQube Metrics and CollectReportingData). |
- Plugin Development Kit enhancements
-
None.
New platform support
This section lists new platform support. Refer to the following topics for a list of officially supported platforms for CloudBees CD/RO:
-
Supported platforms for CloudBees CD/RO on traditional platforms
- CloudBees CD/RO on Kubernetes
-
CloudBees CD/RO v2023.02.0 now supports OpenShift versions 4.10 and 4.11 with updated Helm chart configurations in the default values files.
CloudBees CD/RO v2023.02.0 now supports Kubernetes v1.25 with updated Helm chart configurations in the default values files. v2023.02.0 has been tested using Kubernetes v1.25 on AKS and GKE.
- Kubernetes Pod Security Standards
-
As part of Kubernetes v1.25 support, CloudBees CD/RO v2023.02.0 now supports Kubernetes Pod Security Standards (PSS). For more information, refer to How to use Kubernetes Pod Security Standards.
Resolved issues
BEE-13957 |
Added support of planned start and end time in the release definition. |
||
BEE-24420 |
Fixed an issue with reporting data on the CloudBees Analytics Microservice Deployments dashboard. |
||
BEE-24801 |
Updated the UI to display Pipeline definition tags. Tags display for all Pipeline runs, are available for filtering, and are included in the audit report. |
||
BEE-27437 |
Fixed an issue in v10.7 where the |
||
BEE-27574 |
Fixed an issue in v10.7 where the Git polling trigger did not work when a property was defined in the Repository field. |
||
BEE-28166 |
Improved the performance of evaluating |
||
BEE-28188 |
Fixed an issue with attaching credentials when multiple credentials in different projects had the same name. |
||
BEE-28383 |
Fixed an issue with the |
||
BEE-28450 |
Fixed an issue in the UI when adding process steps to application and component processes. |
||
BEE-28490 |
Fixed an issue with HTML tags in procedure steps in the UI. |
||
BEE-28563 |
Removed case sensitivity between active directory and CloudBees CD/RO to resolve a renaming issue.
|
||
BEE-28607 |
Fixed an issue with phase name detection and potential NPE. |
||
BEE-28720 |
Fixed an issue that caused UI failures when the |
||
BEE-28844 |
Added a |
||
BEE-28881 |
Fixed an issue with detaching credentials from plugin procedure steps when removing them from the plugin configuration. |
||
BEE-28939, BEE-29075 |
Updated custom personas to reflect renamed and removed persona pages. Saved persona subpages are available after you upgrade CloudBees CD/RO. |
||
BEE-28948 |
Fixed an issue that caused duplicate inventory items when an application is deployed with different application versions using the |
||
BEE-29032 |
If |
||
BEE-29034 |
Previous run details are not displayed when modifying a release pipeline. The following message displays when you select the Details arrow when modifying a release pipeline:
|
||
BEE-29056 |
Improved the Job Details view UI for catalog item procedure and plugin runs. |
||
BEE-29076 |
Added additional API parameter details to the Compare Environment Details for microservices with Helm charts. |
||
BEE-29107 |
Modified the unique constraint on |
||
BEE-29115 |
Fixed an issue with CloudBees Analytics agent installations when the installer validates the remote server details provided by the user and checks the connection. |
||
BEE-29183 |
Updated the UI to allow you to set the planned start and end time for a release. |
||
BEE-29237 |
Updated the Audit Report UI to display Pipeline Run, Project, Release, and Active stage details. |
||
BEE-29302 |
Fixed an issue that caused the Service catalog to run procedures with redundant parameters. |
||
BEE-29411 |
Added a scrollbar to the Service Account selection in the webhook trigger configuration. |
||
BEE-29530 |
Changed the DSL generation format for |
||
BEE-29532 |
Fixed an issue with removing workspaces in the data retention policies. |
Installation notes
For complete installation and upgrade information, refer to CloudBees CD/RO on Kubernetes and Install CloudBees CD/RO on traditional platforms.
CloudBees deprecated the CloudBees CD/RO ec-jruby and ec-jython wrapper programs with v10.11. The wrapper programs are no longer installed as part of CloudBees CD/RO tools.
|
CloudBees CD/RO server installation binaries are signed for traditional installations so that you can verify their origin and authenticity. Verifying binaries is an optional step in the installation process than can help ensure you are not the victim of a man-in-the-middle attack. For more information, refer to Verify installation binaries.
- CloudBees CD/RO on Kubernetes
-
Sample CloudBees CD/RO server and agent Helm chart values provide the CloudBees default installation values. The CloudBees CD/RO
images.tag
value associated with v2023.02.0 is2023.02.0.160256_3.2.35_20230201
.
CloudBees CD/RO Docker images and Helm charts are signed so that you can verify their origin and authenticity. Verifying Docker tags and Helm charts is an optional step in the installation process than can help ensure you are not the victim of a man-in-the-middle attack. For more information, refer to Verify Docker images and Verify Helm charts.
CloudBees CD/RO v2023.02.0 now supports Kubernetes v1.25. As a result, Kubernetes PSP support is now deprecated in CloudBees CD/RO 2023.02.0 Helm charts.
- CloudBees CD/RO Universal Base Image (UBI)
-
The actual UBI associated with v2023.02.0 is
9.1.0-1656.1669627757
. - Upgrading gateway agents
-
All gateway agents that meet the following criteria must be updated to CloudBees CD/RO v10.2+:
-
Your enterprise implements a multi-zone environment.
-
Agent versions are a combination of pre-v10.2 and v10.2+.
-
The access route to a v10.2+ agent is configured through a pre-v10.2 gateway agent.
-
- Configuring autostart services for Linux installations
-
Linux installations that you perform as a non-root user or without
sudo
permissions cannot automatically start the CloudBees CD/RO server, web server, repository server, or agents. Instead, you must set up service autostart after installation is complete. Refer to Configure autostart for non-root/non-sudo Linux installations to learn more.
- Upgrading your CloudBees CD/RO environment
-
Before starting an upgrade, make sure to back up your existing CloudBees CD/RO data. - Upgradable versions
-
Upgrades to CloudBees CD/RO 10.x are supported only from ElectricCommander 5.0. For upgrade instructions, refer to the Upgrade on traditional platforms.
- Updating the MySQL configuration before upgrading
-
Since release 8.0.1, CloudBees has instructed customers using a MySQL database to add the following two lines to their MySQL configuration:
init_connect='SET collation_connection = utf8_unicode_ci, NAMES utf8' skip-character-set-client-handshake
Before upgrading CloudBees CD/RO, you must remove these lines or comment them out. Otherwise, jobs will not start.
- Ensuring the correct default MySQL default collation
-
Make sure that the default collation for the MySQL database schema is set to
utf8_unicode_ci
orutf8_general_ci
and that no table in the schema overrides this. The CloudBees CD/RO server checks this configuration on startup and logs errors in the server log if it is not set correctly.If the collation is not configured correctly, entering non-ASCII text into CloudBees CD/RO can cause errors. For example, setting a release name to a non-ASCII value, and attempting a search, causes an exception.
If your MySQL database schema, or any tables within, are set to a non-UTF-8 collation order, refer to the Knowledge Base article KBEC-00385 - Converting a MySQL Database From Latin-1 to UTF-8 for detailed instructions about safely converting your schema to UTF-8. [NMB-26521, NMB-27459]
- Upgrading agents that run the
ec-groovy
job step in multizone deployments -
In multizone CloudBees CD/RO deployments, CloudBees CD/RO agents that are in a different zone than the CloudBees CD/RO server must be upgraded to version 9.0 or later for the
ec-groovy
job step to run successfully on those agents. You must also upgrade the gateway agents that lead back to the server’s zone, including those in any zones in between the agent’s zone and the server’s zone. [NMB-27490]For details about multiple zones and gateway agents, refer to Zones and gateways.
- Removing the
SSL 2.0 Client Hello
orSSLv2Hello
protocol from your security configurations -
CloudBees recommends removing the
SSL 2.0 Client Hello
orSSLv2Hello
protocol from your security configurations for all components. [NMB-27934, NMB-29326]-
Upgrade agents to the latest operating system version for security reasons.
-
If this warning appears on the Automation Platform UI:
Note: We recommend removing `SSL 2.0 Client Hello` format from server configuration and upgrade older agents as indicated on the Cloud/Resources Page to avoid security risk.
then enter the following command on the CloudBees CD/RO server:
$ ecconfigure --serverTLSEnabledProtocol=TLSv1.2
-
- Upgrading the CloudBees Analytics server
-
This section provides information about upgrading the CloudBees Analytics server.
-
It is not possible to upgrade CloudBees Analytics v9.0.1 and below to CloudBees Analytics v10.2.0 and above. The installer exits with an error and an appropriate message when such an update is attempted. If you need to upgrade CloudBees Analytics v9.0.1 and below, you must first upgrade to a version between 9.1.0 and 10.1.0, or 9.0.2 and above. After that, you can upgrade CloudBees Analytics to v10.3.0 or higher. [NMB-31030]
-
For previous CloudBees Analytics upgrades from v9.0.1 and below: CloudBees Analytics data may contain obsolete indexes that are incompatible with CloudBees Analytics v10.2.0 and above. To work correctly, it is necessary to re-index these indexes before an upgrade. The installer prompts you to do this before upgrading.
-
In console mode and UI mode, the installer displays the following prompt if outdated indexes are detected:
One or more Elasticsearch indexes were created in an obsolete version of Elasticsearch. These indexes must be re-indexed for the upgrade to be successful. Do you want to start the reindexation? [n/Y]
After an affirmative answer, the installer automatically re-indexes and continues the upgrade.
-
In silent mode, the installer reindexes automatically.
-
-
Backing up and restoring custom settings
The CloudBees Analytics installer overwrites the
elasticsearch.yml
configuration file with a new file. This file includes aCustom Settings
section, which lets you add Elasticsearch settings not managed by the CloudBees Analytics server without being lost during an upgrade. The installer preserves the settings in theCustom Settings
section. [NMB-25850] -
Upgrading CloudBees Analytics clusters
The principle of forming a cluster in CloudBees Analytics has changed in v10.2 due to the update of Elasticsearch v7.10.2. In this regard, an additional action is required to upgrade to CloudBees Analytics v10.2 or later:
When updating the first master node, you must explicitly specify that it is the first node to be updated. If this action is not performed, any cluster that is being updated is placed out of service.
All installers have been instrumented to accommodate this change. Refer to Upgrade the CloudBees Analytics server for more details. [BEE-2717]
-
CloudBees Analytics server configuration notes
For a production environment, CloudBees recommends that you install the CloudBees Analytics server on a system separate from systems running other CloudBees CD/RO components (such as the CloudBees CD/RO server, web server, repository server, or agent). If you must install it on the same system (such as for testing or other non-production or trial-basis situations), refer to CloudBees Analytics server with other components for details.
If your CloudBees Analytics server is configured with multiple nodes in a Kubernetes environment, you must pre-generate your certificates. For more information, refer to Install CloudBees CD/RO within Kubernetes.
Configuration notes
- Performing a full import
-
During a full import, the import operation might hang in the following scenarios. To import successfully into CloudBees CD/RO 8.0 and newer versions, perform the appropriate workarounds [CEV-15447, CEV-11873]:
-
A manual process step in a process has formal parameters. The workaround is to remove the entry related to the property sheet for the job step that is associated with the manual process step.
-
In the exported XML file from an earlier release, two pipelines are in different projects, and both pipelines have no gate tasks. The flow associated with the pipeline is duplicated under both projects. The workaround is to remove the flow element under the projects.
-
- Limitations
-
When an application is cloned from one project (the original project) to another (the destination project), the tier maps for the application point to the environments with the same names in the destination project. To deploy the application to the environments in the original project, you must create tier maps connecting the application to those environments.
Known issues
BEE-7512 |
With CloudBees CD/RO v10.2.1 and earlier, the DSL Import service catalog fails for grouped tasks. |
||
BEE-14396 |
When an artifact name and version are specified in a component with a property reference, |
||
BEE-14581 |
The MeanLeadTime report does not work correctly when Elasticsearch has pipeline runs but no release runs. |
||
BEE-14933 |
The UI does not allow the transfer of artifacts across zones. |
||
BEE-17259 |
When a custom data retention policy schedule is set to run once, the data is not purged after archiving. To purge data after archiving, use a repeat schedule or the global data retention setting. |
||
BEE-19742 |
When you save DSL for a dropdown menu, the code is evaluated to catch syntax errors. This evaluation is not the same as when the parameter is used. This can result in a property reference error because the properties may only be available when the parameter values are set. A workaround is to use a try-catch statement where the
|
||
BEE-20205 |
CloudBees CI job tasks with a |
||
BEE-20536 |
When using Postgres with change tracking enabled, EcAuditStrategy errors may appear in the server log. This is a known issue, but is not expected to affect system performance. |
||
BEE-27713 |
Events that originate from the default CloudBees CI create default configurations. URLs for these new controllers are not Jenkins configured URLs and cause 401 errors. |
||
BEE-28886 |
You may experience SSO sign in issues when using Kerberos due to a Microsoft known issue. |
||
BEE-29185 |
When a release and a deployed application are located in the same project, unique constraints do not work on MySQL, MariaDB, and PostgreSQL databases. |
||
BEE-29494 |
When a process step that is not manual is modified to be manual after the process runs but before the associated job step evaluated, the step hangs and adds a |
||
NMB-30095 |
Browser redirects to port 2080 during first navigation to CloudBees CD/RO deployed from CloudBees Software Delivery Automation and Flow Helm charts. |
||
NMB-24734 |
|
||
NMB-24949 |
When you use the Automation Platform UI to upload and publish artifact files with non-English characters in their file names, the operation fails with the following error: |
||
NMB-26021 |
Modifications of LDAP user data (such as email addresses) on an Active Directory server after registration in CloudBees CD/RO do not appear properly in user details (in the Automation Platform UI, the Deploy UI, or |
||
NMB-26962 |
(Microsoft Windows platforms only) If the Elasticsearch cluster used by CloudBees Analytics is in the red state (meaning that it only partly functions and some data is unavailable), then upgrade, reconfigure, and uninstall operations will not work. Since the Elasticsearch service cannot be stopped when a cluster is in a red state, you must stop the Elasticsearch service process from the task manager before running the installer for these actions. |
||
NMB-28135 |
The Microsoft Edge browser does not work with SAML 2.0 and a self-signed certificate during redirection from the identity provider to the service provider. Edge is not recommended for sign-in via SAML 2.0. |
||
NMB-29486 |
The LANG environment variable must be set to |
||
CEV-11106 |
When an application with snapshots created in CloudBees CD/RO 6.1 or earlier is cloned and a project containing this application is imported to CloudBees CD/RO 6.3 or higher, the import operation fails. |
||
CEV-12363 |
Error prompts for runtimes started by a schedule are not visible if the schedule was created with a missing configuration. |
||
CEV-12429 |
The stage inclusion status in the Release Dashboard changes color after a stage is renamed. |
||
CEV-14689 |
No error prompt appears for failed tasks and retry tasks during a pipeline runtime. |
||
CEV-15122 |
If an application process step cannot expand to its child steps (because of an invalid run condition or an invalid formal parameter) then the step is not retried even if it uses "retry on error" error handling. The job eventually completes with an error. |
||
CEV-15829 |
The retry count for group tasks or rules using "automated retry on error" is missing from the Pipeline runtime page. |
||
CEV-16245 |
Multiple mapped environments with the same name from different projects are not supported in email notifications. |
||
CEV-16250 |
A project import might not include the path-to-production view. |
||
CEV-16930 |
Jobs might not appear upon drill-down into the "Clusters With Most Deployments" widget in the CloudBees Analytics Microservices Dashboard if the service does not contain a deploy step in the process. |
||
CEV-18531 |
All subreleases of a release must appear before the release in the DSL for the release-to-subrelease link to be created. |
||
CEV-19239 CEV-19259 |
The ability to search by assignee in a Deployment Report is not available in the CloudBees Analytics report editor. |
||
CEV-21426 |
If Release Command Center was set up for JIRA for user stories and defects, and the JIRA project name was mapped to the release project name using the field mapping |
||
CEV-23624 |
Approval by email on manual tasks should not expect parameters. |
||
CEV-25150 |
If you use the |
||
CEV-26700 |
SSO does not work unless PHP configuration is changed due to a security-related request. Workaround: Change |
||
CEV-28704 |
CloudBees CD/RO v10.1 introduced new triggers and an updated UI for them. Pre-v10.1 triggers will continue to work but there is no UI to review or run them. |
||
CEV-28779 |
Before using the export command to perform a full data export from the CloudBees CD/RO database, delete any legacy definitions and references to |
||
N/A |
You can revert changes only for high-level design objects such as applications procedures, procedure steps, workflow definitions, and state definitions.
|
||
N/A |
Enabling Recursively Traverse Group Hierarchy might impact system performance when the LDAP group hierarchy is traversed. The amount of impact varies with the configurations of the CloudBees CD/RO and LDAP servers, the depth of group hierarchy in the LDAP server and the network latency between the servers. Make sure that your directory provider can handle the additional load for supporting nested group hierarchy traversal. |
||
N/A |
System performance might decrease if you disable change tracking at the server level and then re-enable it. Change tracking is enabled by default. For details about using change tracking, refer to change tracking. |