CloudBees Jenkins Platform: Accelerating CD in Enterprises

Written by: Harpreet Singh
8 min read

If you follow CloudBees and Jenkins, you must’ve heard a flurry of announcements at the Jenkins User Conferences in Washington, D.C. and London. This blog summarizes all the new goodies that CloudBees has launched at these conferences.

The Launch of the CloudBees Jenkins Platform

Organizations have matured from using Jenkins to do continuous integration to using it as a platform to bring enterprise-wide continuous delivery and they have used CloudBees products - CloudBees Jenkins Enterprise and CloudBees Jenkins Operations Center - to do so.

With the launch of the CloudBees Jenkins Platform , we bundle these in one easily consumable package with a couple of editions (Team, Enterprise) serving small teams and enterprise administrators.

Each edition comes with features that are outlined here (refer to the CloudBees Jenkins Platform documentation for details)

Welcome to “Solution Packs”

The CloudBees Jenkins Platform allows CloudBees to serve enterprise audiences with specific needs better. We do so through the ability to deliver specific feature sets through “solution packs”. One of the first pack that we are launching today, is the Amazon Solution Pack.

- See more at: http://blog.cloudbees.com/2015_06_01_archive.html#sthash.v40rD7GA.dpuf

Welcome to “Solution Packs”

The CloudBees Jenkins Platform allows CloudBees to serve enterprise audiences with specific needs better. We do so through the ability to deliver specific feature sets through “solution packs”. One of the first pack that we are launching today, is the Amazon Solution Pack .

- See more at: http://blog.cloudbees.com/2015_06_01_archive.html#sthash.v40rD7GA.dpuf

Welcome to “Solution Packs”
The CloudBees Jenkins Platform allows CloudBees to serve enterprise audiences with specific needs better. We do so through the ability to deliver specific feature sets through solution packs. One of the first packs that we are launching today is the Amazon Solution Pack.

  • See more at: http://blog.cloudbees.com/2015_06_01_archive.html#sthash.v40rD7GA.dpuf

This pack lets customers share elastic agents hosted on AWS with all Jenkins controllers managed by CloudBees Jenkins Operation Center within an organization - these controllers themselves are running on-premise or in the cloud. In addition, the CloudBees Jenkins Platform lets users directly use Amazon Web Services within a Jenkins job using AWS CLI. Thus, developers can access any service that is accessible through the CLI as part of their build and deployment jobs.

In addition, we are providing AMIs on the Amazon market place to help Amazon customers easily bootstrap the complete CloudBees Jenkins Platform - i.e. both CloudBees Jenkins Enterprise and CloudBees Jenkins Operations Center - on AWS.

CloudBees Jenkins Platform for Pivotal CF

Last November, we announced a partnership with Pivotal and the release of CloudBees Jenkins Enterprise on Pivotal CF. After a successful launch, our customers quickly came back to us and asked support for CloudBees Jenkins Operation Center as well, so that those organizations could roll out an enterprise-wide Continuous Delivery platform fully hosted on the Pivotal CF platform.

So today, we are proud to announce the extension of this partnership with the release of CloudBees Jenkins Operation Center on Pivotal CF. And since we just announced a new packaging of our offering (see above), in a few weeks, we will be providing the complete CloudBees Jenkins Platform on Pivotal CF and remove individual references to CloudBees Jenkins Enterprise and CloudBees Jenkins Operations Center.

CloudBees Jenkins Platform for Microsoft Azure

Microsoft customers have demanded CloudBees Jenkins on the Azure platform for quite a while - and I am happy to announce that Microsoft and CloudBees have signed a partnership to make Azure a prime location for your Jenkins deployments. Full support will come in several steps.

Today, we are releasing CloudBees Jenkins Operations Center/CloudBees Jenkins Enterprise for Microsoft Azure - these are Azure images that help Microsoft customers be up and running quickly with both CloudBees products. The current images are based on our November 2014 release but we will be updating them in the next few weeks with the May CloudBees Jenkins Platform release.

My crystal ball tells me that there will be a lot of interesting announcements as we take the partnership forward.

CloudBees Jenkins Platform for Microsoft Azure

New features in the CloudBees Jenkins Platform
At the Jenkins User Conference, we also announced a number of new CloudBees Jenkins Platform features:

Stabilize production controllers and eliminate downtime to teams caused by jobs that aren’t stable: The ability to promote jobs from controllers used for testing to controllers used for production:

  1. Some of the most sophisticated IT departments, use CloudBees Jenkins Operations Center to manage Jenkins and create new jobs on a test controller and then job is stable they want to promote it to production. We have made this process easy and seamless. Features include:

    1. Validate if the job will run successfully on the target controller before promoting. Examples include checks mentioned in the next bullet.

    2. Implicitly perform validation before promoting aka “pre-flight checks”. These checks include.

      1. Validate that the core versions of Jenkins on the test and production controllers are compatible.

      2. Validate that plugins that are used on the test controller are available on the production controller.

    3. A job is re-promoted perhaps after a few fixes, then the ability to preserve the history of the job on the target controller.

2. Build cross organizational and cross controller pipelines: Trigger jobs across controllers

  1. This feature helps organizations build CD pipelines that span across controllers. Thus, enabling scenarios such as, jobs on Dev teams controller tickle jobs on QA teams controller. Some of the features are:

    1. Integrated with CloudBees Role-based Access Control: thus jobs can only be triggered by employees with the right permission

    2. Ease of use features such as a quick path browser to easily navigate to the downstream jobs if it is on a different controller within a cluster.

3. Improved UX, especially regarding the getting started experience:

  1. A very common ask is to make the Jenkins UI more modern; we have taken first steps to address it in our product. If you have opinions, both positive or negative, we want to hear them.

New features in CJP but delivered in OSS
At CloudBees, we wear two hats both: Open Source and Proprietary product :-). So some of the biggest features that we have delivered this semester actually landed in OSS (hence are available both in open source and as part of the CloudBees Jenkins Platform).

Workflow Improvements
At the end of last year, CloudBees with the Jenkins community delivered a substantial new sub-system in Jenkins: Jenkins Workflow. Jenkins Workflow helps build real world pipelines programmatically. We have been busy since since and have released multiple new versions (8 to be specific). Workflow 1.8 brings in notable new features including increased support for third-party plugins such as Copy Artifact, Credentials Binding, etc. They are now all supported as first class citizen as part of a workflow definition. You can refer to the compatibility matrix for up-to-date information.

The following table captures most plugin update changes (Refer to the release notes for details):

Plugin SupportImproved Workflow DSL FeaturesImproved DSL Features
Copy ArtifactbuildStep: get downstream build propertiesLoad script from SCM: CI as source code
Credentials BindingwaitUntil: wait for external event before startingSafe Restart: restart Jenkins if WF isn’t running
MercurialSleep: sleep for sometime before proceeding
Rebuild: rebuild jobs with initial parametersfileExists: check if a file exists before proceeding
Build Token Root: securely trigger buildswithEnv: attach env variables before proceeding
Parallel Test Executor
Mail: support for mail within a workflow step
Perforce

The most interesting (well at-least to me :-)) is the ability to do CI-as-code with the “load script from SCM” feature. With this feature, developers can check in their build script into the source code repository, point their Jenkins job to the repository and Jenkins uses the script as its job configuration.

The CloudBees and Jenkins community will continue to add support in Workflow for Jenkins plugins - so watch this space.

Continuous Delivery with Docker

I saved the best for the last: a big effort from CloudBees - in conjunction with the community - has been providing first class support for Docker to build continuous delivery pipelines. I have written a separate blog to call this feature set out.

Parting thoughts:
I am pleased to see the breadth of solutions that we bring to the market today. It isn’t often that a release includes partnerships and solutions offered in the variety of domains as we did today. I am excited that we have pushed the boundaries by enabling modern, sophisticated pipelines with Jenkins and Docker.

What gets me most excited is the potential product and open source opportunities across CloudBees and Jenkins as we go ahead.

I would like to quote Robert Frost on behalf of CloudBees and Jenkins:

The woods are lovely, dark and deep,
But I have promises to keep,
And miles to go before I sleep,
And miles to go before I sleep.

  1. The Docker and Jenkins White Paper

  2. Jenkins and Docker Blog

  3. CJP Documentation

  4. Workflow Release Notes

  5. Workflow Compatibility Support

- See more at: http://blog.cloudbees.com/2015_06_01_archive.html#sthash.v40rD7GA.dpuf

Links

  1. The Docker and Jenkins White Paper

  2. Jenkins and Docker Blog

  3. CJP Documentation

  4. Workflow Release Notes

  5. Workflow Compatibility Support

Harpreet Singh
Vice President of Product Management
CloudBees

Harpreet is vice president of product management at CloudBees and is based out of San Jose, CA.

Follow Harpreet on Twitter.

Stay up to date

We'll never share your email address and you can opt out at any time, we promise.