CloudBees is pleased to announce the general availability of the CloudBees Flow 9.2 feature release. This release delivers innovation across many vectors such as:
-
CloudBees Flow installation on Kubernetes
-
DSL improvements for managing automation as code
-
Release and pipeline portfolio enhancements
-
DevOps Insight enhancements
-
Automation Platform UI pages migrated to the Deploy UI
-
Data retention improvements: complete support for data purge
Feature releases make new features available more frequently than long-term support (LTS) releases (such as ElectricFlow 9.0). The features and enhancements introduced in feature releases are typically rolled into the subsequent LTS release. Consult CloudBees maintenance lifecycle policies for more details about types of releases.
What’s New
New Features and Functionality
Installation on Kubernetes (Technical Preview)
All CloudBees Flow components are now available as containers on Kubernetes, installed via the Helm package manager. See Installing CloudBees Flow on Kubernetes. CloudBees Flow for Kubernetes is a technical preview, providing users early access for exploration. (CEV-13894)
DSL Improvements for Managing Automation as Code
CloudBees Flow now includes end-to-end process support for generating and importing DSL for CloudBees Flow objects in a nested file structure. (CEV-22968)
-
Added support of a "create" mode for evalDSL for a top-level object only and exclude sub-objects. Also, support round trip generate/eval of these using a new service catalog.
-
Added a new service catalog with catalog items to import the nested DSL structure and to generate the nested DSL using the newly added options.
-
Made generated DSL less verbose, provided an option to suppress fields with NULL values.
-
Added an option with
generateDSL
to suppress fields with default values. -
Provided a force-overwrite option to
evalDSL
.
For complete information, see Using the CloudBees Flow DSL.
Release Portfolio and Pipeline Enhancements
-
Added support for scaling and filtering of portfolio list views to give visibility across an enterprise release. (CEV-21624)
-
Added support for active pipeline runs to join and leave existing release. (CEV-22832, CEV-22876)
-
New ability to give a pipeline run a custom name for release portfolios. (CEV-23427)
-
Added new release portfolio and pipeline portfolio lists.
Regarding pipeline and release portfolio lists: |
-
After upgrade, pipeline runs triggered before CloudBees Flow 9.2 may not be visible in this view.
-
Pre-9.2 pipeline runs are not available for searching and filtering.
-
Existing pipeline runs are available to be attached.
Pipeline and Release portfolio views are not affected.
DevOps Insight
-
You can now copy the configurations to data sources for the Release Command Center dashboard from an existing release, rather than creating a new setup from scratch. (CEV-23499)
-
The METRIC visualization is added to the "standard" (non Release Command Center) dashboard type. (CEV-14761)
DevOps Insight User Guide
DevOps Insight usage and administration information is moved from the CloudBees Flow User Guide and is now in its own volume, DevOps Insight install and user guide. Sections in this new guide include:
-
Understanding the DevOps Insight Data Model–an overview of the data schemas, how they are sourced, and the underlying data available to them.
-
Creating a Report—Use the report editor to define custom reports based on criteria such as filters, aggregations, and sorting.
-
Creating a Dashboard—Create your own dashboards and reports to visualize key metrics that are important to your organization.
-
Extending the Data Model—Learn how to inject your own custom data into the DevOps Insight datastore.
-
Elasticsearch Basics—Examine and run reports directly from the Elasticsearch database.
-
Dashboard Reference—Understand the information that out-of-the-box dashboards provide.
-
Configuring the DevOps Insight Server—Set up connectivity and authentication for the DevOps Insight server.
(CEV-23361, CEV-23202)
Automation Platform UI Pages Migrated to the Deploy UI
The following pages that were previously available only on the Automation Platform UI are added to the Deploy UI.
CEV-23049 |
UI: Move Commander Cloud Pools screen to the Deploy UI |
CEV-23051 |
UI: Move Commander Cloud Workspaces screen to the Deploy UI |
CEV-23053 |
UI: Move Commander Administrator Licenses page to the Deploy UI |
CEV-23055 |
UI: Move Commander Administrator DevOps Insight Server screen to the Deploy UI |
CEV-23057 |
UI: Move Commander Administrator Users and Groups screens to the Deploy UI |
CEV-23059 |
UI: Move Commander Administrator Database Configurations screen to the Deploy UI |
Data Retention
The data retention feature, added in 9.1, is now enhanced to fully support data purge by allowing the ability to define data retention rules for data purging via the Deploy UI. Available via API and, now, the Deploy UI. For complete information, see the following documentation. (NMB-28725, NMB-3116)
Plugin Enhancements
Plugin Development Framework
Version 2.0.0.1 of the CloudBees Flow Plugin Development Framework ( flowpdf
) has been released with the following enhancements:
-
Support added for boilerplate code generation that simplifies creation of REST-based plugins
-
Support added for boilerplate code generation for CollectReportingData procedure used by DevOps Insight Release Command Center dashboards
-
New libraries added to facilitate exception handling
The CloudBees Flow Plugin Development Framework ( flowpdf
) provides a combination of tools, APIs, and libraries that are used to create a CloudBees Flow plugin in four steps. The entire set of capabilities of the framework are available through a single command line tool (CLI) called flowpdk
. This tool is available in our open source community GitHub organization here: https://github.com/electric-cloud-community/flowpdf
In addition, a comprehensive Plugin Developer Guide , which consists of plugin concepts, samples, and tutorials in both HTML and PDF formats, is at the URL above.
Since Release 9.0, the CloudBees Flow Plugin Development Framework is the recommended approach to develop plugins and replaces the Plugin Commander SDK. The Plugin Commander SDK, and its guide, is considered obsolete and is no longer supported. |
New Plugins
Name | Summary |
---|---|
EC-Bamboo |
Integrates CloudBees Flow with Atlassian Bamboo, which is a CI/CD server to automate release management for a software application. |
EC-OctoplusDeploy |
Integrates CloudBees Flow with Octopus Deploy, which is a CD server to automate release management for a software application. |
Updated Plugins
The following is a list of key changes made to existing plugins. For a complete list see Bundled plugins.
Name | Version | Summary |
---|---|---|
EC-Ansible EC-JBoss EC-WebLogic |
1.3.0 2.7.0 3.5.0 |
|
EC-Artifactory |
1.4.3 |
|
EC-EC2 |
2.6.0 |
|
EC-Jenkins |
1.15.2 |
|
EC-JIRA |
1.6.2 |
|
EC-Kubernetes |
1.2.3 |
|
EC-Nexus |
1.0.2 |
|
EC-ServiceNow |
2.7.0 |
|
EC-WebSphere |
2.7.0 |
|
ECSCM-Git |
3.11.1 |
|
Other Enhancements
NMB-25854 |
Support 256-bit AES for the passkey |
NMB-26110 |
Change behavior for getUser to not register LDAP user by default |
NMB-26680 |
A new error message popup is added to the Automation Platform UI to indicate more clearly when you lack "execute" permission on a credential when attempting to attach it to a step. This new feature supplements the existing functionality in which an error icon appears on the page, but the actual error text is shown solely in the Error Log popup that appears when you click the icon. |
NMB-28649 |
Remove Automation Platform UI authentication and use the Deploy UI authentication instead |
CEV-18948 |
List out parameters for self-service catalog items created from plugin definitions |
CEV-20657 |
Make the "Restart from failure" symbol easier to find |
CEV-22205 |
Provide tagging support for resource pools |
CEV-22398 |
Add numerical sort for pipeline parameters dropdown |
CEV-22663 |
Add support of /myUtilityResource property |
Documentation enhancements |
|
NMB-27544 |
Updated docs to identify page URL for licensing information. |
Database Support
-
Support for Oracle 19c is added. (NMB-28510)
-
CloudBees Flow has ended support for HTTPS connection types older than TLS 1.2. If you are using MS SQL Server 2012 or 2014, you must update it to support TLS1.2. For details, see the Microsoft TLS 1.2 support for Microsoft SQL Server web page. (NMB-28428)
Resolved Issues
NMB-22740 |
The validation to match the server hostname with the value in the database is no longer performed in the case of a clustered deployment. |
NMB-24866 |
An issue where the output from the generateDsl API command did not include the attached credentials for a step is fixed. |
NMB-25784 |
Web upload artifact failed with error "Upload file: CGI open of tmpfile: Too many open files" |
NMB-26680 |
An error message box is added to more clearly indicate when you do not have Execute permissions when attempting to attach a credential. This new functionality supplements the existing functionality in which an error appears in the error log. |
NMB-27049 |
An issue is fixed where cloning a CloudBees Flow server cluster node with a broker-data folder and failing to delete it before starting CloudBees Flow causes triggerSchedule on job completion from non-QuartzService nodes to be consumed by other nodes. |
NMB-27960 |
An issue in which some timestamps in email notifications used the UTC time zone instead of the preferred timezone is fixed. |
NMB-28464 |
Fixed issue where cluster node memberships of different JGroups clusters could get out of step. |
NMB-28525 |
getFullCredential fails when trying to get a credential in another project |
NMB-28671 |
When using Active Directory Provider use the Group Search Filter to determine groups the user belongs to (for use in CloudBees Flow) as user may belong to hundreds of AD groups. This will improve performance and avoid NoSuchGroup error. |
NMB-28678 |
After creating a SAML service provider the "Assertion Consumer Service Endpoint" and "Single Logout Service Endpoint" URL values are incorrectly displayed as acs and slo |
NMB-28704 |
User group resolved improperly during nonRoot installation |
NMB-28728 |
An issue is fixed where the OnStart message was published in every workflow state that had an outgoing OnStart transition to evaluate the transition, but it was silently consumed because its session was invalid, so the transition out of the workflow state did not occur. |
NMB-28789 |
An issue where custom ACLs on an existing plugin project and its procedures were not copied to a newly promoted plugin after an upgrade and during manual plugin promotions that were done after an upgrade is fixed. |
CEV-18632 |
Component fields are not updated after switching artifact source |
CEV-19200 |
Fix known vulnerabilities in JavaScript libraries. |
CEV-20901 |
Scrollbar resets when editing existing or defining task in long releases or pipelines |
CEV-21698 |
Error with failed manual tasks inside of stage groups set to manually retry on error |
CEV-22943 |
Email notification template can’t be modified from UI |
CEV-23191 |
When adding more than 12 schedules for pipeline the Edit button is not displaying properly |
CEV-23720 |
Issue fixed that caused the CloudBees Flow UI slowness after 9.0 to 9.1 upgrade. |
CEV-23754 |
User received the error, |
Resolved documentation issues |
|
NMB-28539 |
Removed the Index tab from HTML version of API Guide. For a complete index of available commands, see CloudBees Flow Perl API Commands Overview. |
CEV-23254 |
API Guide - Resource |
Behavior Changes
With the introduction of the Release Command Center Setup capability in version 9.0, the "Setup for Command Center" procedures are obsolete, are no longer created for new installations, and are deprecated for upgrades:
-
HP-ALM Setup for Command Center - quality
-
Jenkins Setup for Command Center - build and quality
-
JIRA Setup for Command Center - defect
-
JIRA Setup for Command Center - feature
-
ServiceNow Setup for Command Center - incident
After an upgrade to 9.1 or higher versions from a version prior to 9.0, the descriptions for these procedures appear as follows:
[DEPRECATED] This procedure is deprecated and will be removed in a future release. Go to the Command Center Editor to setup the Command Center for a given release. (CEV-21234)
Installation and Upgrade Notes
For complete installation and upgrade information, see CloudBees Flow installation guide.
Upgrading Your CloudBees Flow Environment
Before starting an upgrade, make sure to back up your existing CloudBees Flow data. |
Upgradable Versions
Upgrades to CloudBees Flow 9.x are supported only from ElectricCommander 5.0 or any version before 9.0. Upgrades to version 9. x from any ElectricCommander version that is 4.2 or earlier are not supported. For upgrade instructions, see upgrade roadmap.
Upgrading an Older DevOps Insight Version
Upgrading from a CloudBees Flow version 9.0. x , or earlier, requires upgrading the DevOps Insight server to 9.2. If upgrading from CloudBees Flow version 9.1, then upgrading version 9.1 the DevOps Insight server is not required.
Updating Elements Containing applicationServiceMapping
If your XML export file from CloudBees Flow 8.0.1 or earlier versions has elements containing applicationServiceMapping
, you must change all instances of that string in the file to serviceClusterMapping
before importing the file into version 9.2. For example, change the following XML:
<applicationServiceMapping> <applicationServiceMappingId>9efcda31-a85f-11e7-8500-0800279f198d</applicationServiceMappingId> <applicationServiceMappingName>9efcda31-a85f-11e7-8500-0800279f198d</applicationServiceMappingName> … </applicationServiceMapping>
to
<serviceClusterMapping> <serviceClusterMappingId>9efcda31-a85f-11e7-8500-0800279f198d</serviceClusterMappingId> <serviceClusterMappingName>9efcda31-a85f-11e7-8500-0800279f198d</serviceClusterMappingName> … </serviceClusterMapping>
(CEV-16237 and CEV-16158)
Backing Up and Restoring Custom Settings
The DevOps Insight installer overwrites the elasticsearch.yml
configuration file with a new file. As of DevOps Insight version 8.3, the file includes a Custom Settings
section, which lets you add Elasticsearch settings not managed by the DevOps Insight server without being lost during an upgrade. If you added settings to this file in version 8.2 or earlier that you want to preserve, you must back up the file to a separate location before upgrading to version {product-version-9-2} or newer versions and then add the settings to the Custom Settings
section after the upgrade. During future upgrades, the installer will preserve the settings in the Custom Settings
section. (NMB-25850)
Updating the MySQL Configuration Before Upgrading
Since release 8.0.1, CloudBees has instructed customers using a MySQL database to use the following two lines in their MySQL configuration:
init_connect='SET collation_connection = utf8_unicode_ci, NAMES utf8' skip-character-set-client-handshake
Before upgrading CloudBees Flow, you must remove these lines or comment them out. Otherwise, jobs will not start.
Ensuring the Correct Default MySQL Default Collation
Since release 8.0.1, CloudBees has instructed customers using a MySQL database to ensure that the default collation for their database schema is set to utf8_unicode_ci
or utf8_general_ci
and that no table in their schema overrides this. As of release 9.0, the CloudBees Flow 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, then entering non-ASCII text into CloudBees Flow might 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 in it are set to a non-UTF-8 collation order, see 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)
Upgrading Agents that Run the ec-groovy Job Step in Multizone Deployments
In multizone CloudBees Flow deployments, CloudBees Flow agents that are in a different zone than the CloudBees Flow 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)
Removing the SSL 2.0 Client Hello or SSLv2Hello Protocol from Your Security Configurations
CloudBees recommends removing the SSL 2.0 Client Hello
or SSLv2Hello
protocol from your security configurations for all components.
-
Upgrade agents older that fall into this category for security reasons:
-
Windows, Linux: 6.0.3 or older; 6.2 or older
-
Mac OS: 8.4 or older
-
-
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
(NMB-27934)
Upgrading the DevOps Insight Server
This section provides information about upgrading the DevOps Insight server from Version 7.3 to Version 9.2 .
Re-Specifying Configuration Settings Not Preserved During the Upgrade
The installers (GUI, interactive console, and silent mode) for the CloudBees Analytics server do not preserve the configuration setting for the CloudBees Analytics server host name ( --hostName
) or the setting for the Elasticsearch number of shards ( --elasticsearchNumberOfShards
) during the upgrade from 7.3 to 9.2. If you specified nondefault values during the 7.3 Reporting server installation, you must re-specify these settings during the upgrade. (All other settings are preserved.)
DevOps Insight Server Configuration Notes
For a production environment, CloudBees recommends that you install the CloudBees Analytics server on a system other than 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.
Configuration Notes
Performing a Full Import
During a full import, the import operation might hang in the following scenarios. To import successfully into CloudBees Flow 8.0 and newer versions, perform the appropriate workarounds (CEV-15447 and (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 the 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.
Updating Application Component Plugins
Application components are based on plugins (EC-Artifact, EC-Maven and EC-FileSysRepo) with plugin details (such as name, procedure, and parameters) stored in properties on the component. Before version 5.4, the value for the pluginProjectName
property included the plugin name and version (for example, EC-Artifact-1.0.3.4), which closely tied components to specific versions.
When you export your project data before upgrading from ElectricCommander 5.0, 5.1, 5.2, or 5.3 to CloudBees Flow 8.x, you must update the application component plugin versions in the export file to the versions on the target CloudBees Flow server before importing the data to CloudBees Flow 8.x .
For example, if the promoted EC-Artifact plugin version is 1.0.4.1, then in the snippet below, you would change EC-Artifact-1.0.3.4 to EC-Artifact-1.0.4.1:
<property> <propertyId>3f509ffd-506b-11e6-9960-f01faf2c26a3</propertyId> <propertyName>pluginProjectName</propertyName> <counter>0</counter> <createTime>2016-07-23T00:20:20.829Z</createTime> <expandable>1</expandable> <lastModifiedBy>admin</lastModifiedBy> <modifyTime>2016-07-23T00:20:20.829Z</modifyTime> <owner>admin</owner> <tracked>1</tracked> <value>EC-Artifact-1.0.3.4</value> </property> <property>
Starting with release 5.4, CloudBees Flow uses the plugin key (which does not include the version) when defining a component. (CEV-6679)
Limitations
-
When an application is cloned from one project (the original project) to another (the destination project), the tier maps for the application will 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
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 Flow do not appear properly in user details (in the Automation Platform UI, the Deploy UI, or |
||
NMB-26962 |
(Windows platforms only) If the Elasticsearch cluster which is used by DevOps Insight is in the red state (in Elasticsearch this means that it only partly functions and some data is unavailable) then upgrade reconfigure or uninstall operations will not work. Because the Elasticsearch service can not be stopped when a cluster is in red state kill the Elasticsearch service process by 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 login via SAML 2.0. |
||
NMB-28380 |
Can’t ignore server mismatch and override passkey from Database Configuration page |
||
NMB-28381 |
The |
||
CEV-11106 |
When an application with snapshots created in CloudBees Flow 6.1 or earlier is cloned and a project containing this application is imported to CloudBees Flow 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 missed 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 DevOps Insight Microservices Dashboard if the service does not contain a deploy step in the process. |
||
CEV-17164 |
When you do a full import from version 8.0 to version 8.2 or newer and two or more releases have the same name (under different projects) and are associated to the same pipeline then after import the runs for all releases might become associated to the first imported release. This is because CloudBees Flow cannot differentiate runs between the releases since all runs are under the same pipeline project and have the same name. To work around this issue rename releases in the export file so that all their occurrences (in |
||
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 DevOps Insight report editor. |
||
CEV-21426 |
If Release Command Center was setup for JIRA for user-stories and defects and the JIRA project name was mapped to the release project name using the following field mapping: ` projectName:releaseProjectName` then before upgrading to 9.2 the field mapping must be updated to mention the actual release project name using the following field mapping format: |
||
CEV-22379 |
Long custom labels in email notifications do not render correctly. |
||
CEV-22644 |
Navigation to a sub-release editor takes user to the parent release editor. As a workaround, select the subrelease from the left-hand navigation in the parent’s release editor. |
||
CEV-23957 |
When you use the Deploy UI to edit a resource pool and add a tag while renaming it at the same time, the operation fails with the following error: |
||
CEV-23958 |
Running an application process with a parallel manual application process step or running an application process with a parallel manual application and component process steps fails to delete the project. |
||
CEV-23959 |
Performance for the pipeline runtime list page is slow. |
||
CEV-23960 |
If you are signed in to the Deploy UI and upgrade to CloudBees Flow 9.2, the version 9.2 sign-in page for the Automation Platform UI goes into an infinite redirect. This is because the version 9.2 Automation Platform UI thinks that your sign-in session expired even though it is active. To work around this issue, do one of the following:
|
||
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 Flow 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 see change tracking. |
Documentation and Online Help
Product Documentation
CloudBees Flow v 9.0 product documentation, available on the product documentation site, is updated periodically.
Troubleshooting and Getting Help
CloudBees Support
Contact CloudBees Support at https://support.cloudbees.com/ and then click Submit a request to submit or see your support tickets.
Be prepared to provide your:
-
Name, title, company name, phone number, and email address
-
Operating system and version number
-
Product name and release version
-
Problem description
CloudBees Flow Knowledge Base
Go to https://support.cloudbees.com/hc/en-us/sections/360006415292-Flow-KB to find in-depth explanations of specific topics and solutions for specific problems.