Based on Jenkins
Rolling release Security release
Internal changes on CloudBees Jenkins Distribution Docker image
The Docker image for CloudBees Jenkins Distribution has been modified so now some internal folders and users are the same than for the other types of packages.
Specifically, the following changes have been applied:
The user created and used to launch the CloudBees Jenkins Distribution instance is now
jenkins. Note that the
uidof the user has not changed
The user group where the
cloudbees-jenkins-distributionuser belongs is now
jenkins. Note that the gid of the group has not changed
JENKINS_HOMEis now located in
Default customization folder (used to create customized instances) has been moved from
War file is now stored in
cloudbees-referer.txtfile is now stored in
As a result of these changes, volume mounts to get a persistent
JENKINS_HOME now need to point to
/var/cloudbees-jenkins-distribution instead of
stated in the
The CloudBees Backup plugin was considering every folder in the backup folder as a backup file, therefore the plugin was trying to remove the folder when a retention strategy was specified. If the user running the instance has no permission on this folder, or the folder has some content, it fails. If the instance has permissions, the plugin removes such a folder.
Individual Pipeline stages did not have independent results, causing visualizations to report every stage as unstable no matter which stage actually caused the build to become unstable. A new API was created for more granular status tracking in Pipelines. Plugins such as JUnit that set the build result to unstable were updated to use the new API. New Pipeline steps were created that users can use to set the stage result to unstable, see the warnError and unstable steps here:
https://www.jenkins.io/doc/pipeline/steps/workflow-basic-steps/. Additionally, the catchError step was updated to allow optionally setting the stage result. Using these new steps allows Blue Ocean to display exactly which stage caused the build to become unstable.
CloudBees provides you a Helm chart to deploy CloudBees Jenkins Distribution on Kubernetes, making easier the installation. Currently, only Amazon EKS installations are supported. Refer to Installing on Kubernetes and Supported platforms for CloudBees Jenkins Distribution for details.
The Operations Center required a restart to connect to shared agents provisioned via CLI when some optional properties were not fully specified in the agent’s xml configuration. With this fix, creating a shared agent via the CLI no longer requires a restart to connect the agent when specifying an empty
If a connected master had a plugin installed that provided a new credential domain requirement type, and the corresponding plugin was not also installed on Operations Center, then no remote credentials were returned when the master queried for them. With this fix, credential domain requirements are deserialized differently on the Operations Center so that missing classes are handled gracefully.
If a directory or file could not be created during a Move/Copy/Promote Operation there were no details informing the user of the cause of the issue. With this fix, the code uses the newer NIO API to enable better error messages in the case of failure.
A blank or white line appeared at the top of the “Teams” view. With this fix, the page design was updated to remove extraneous whitespace.
Credentials cached by client masters could have been lost if the credentials were fetched from the Operations Center as the Operations Center was shutting down. With this fix, the Operations Center signals to client masters that it is shutting down and updated credentials are not available at this time.
During SFTP backups, every single file which needs to be backed up is transferred, one-by-one, to the SFTP server, where it was packed into the backup file destination. Because of this, even the simplest master backup can required hours to be done. With this fix, users now have the option to backup locally and then upload the backup to the SFTP server to decrease backup time.
When certain characters were included in passwords, masking was blocked. With this fix, password masking now masks strings that match the escaped forms of credentials using the escaping algorithms used in sh, bash, zsh, batch, and powershell. This helps fix the issue where shell echoing is enabled (+x) and credentials are included in parameters echoed back.
For "Merge" pipeline runs of Pull Requests on GitHub, Jenkins resorts to cloning the whole repository on the Jenkins Master in order to merge the source and target branches. With this fix, Jenkins uses the GitHub API to get the merged Jenkinsfile from the Pull Request “merge_commit_sha”, causing pipelines for open merge PRs to run on the first scan after upgrade.
Users clicking on an imported template in a catalog were receiving 404 errors. With this fix the link is correctly redirected to the Pipeline Template page when users click on a template in a Pipeline Template Catalog.