By Kohsuke Kawaguchi and Harpreet Singh, CloudBees, Inc.
Continuous delivery (CD) is a competitive differentiator and development and operations teams are under pressure to deliver software faster. The DevOps world is going through a storm of changes - Docker being the key one. This session by Kohsuke and Harpreet will introduce a set of plugins that address various aspects of CD with Docker.
5. #jenkinsconf
About CloudBees
Who are we? The enterprise Jenkins company and the Continuous
Delivery leader enabling IT organizations to respond
rapidly to the needs of the business.
Our business
value
We improve business agility and Business-IT
alignment by delivering better software faster.
Our Platform CloudBees Jenkins Platform provides a range of
continuous delivery solutions powered by Jenkins
that meets the unique needs of enterprises on-
premise or in the cloud.
14. #jenkinsconf
CD starts from CI
Developer
Source
Code
Control
System
Compile
/BuildCode
Scan TestsCode
Commit
Results
Report
BuildCommit Test
Continuous Delivery
ProdDev
15. #jenkinsconf
…and extends to Deployment
Developer
Source
Code
Control
System
Compile
/BuildCode
Scan TestsCode
Commit
Results
Report
BuildCommit Test Stage Deploy
Deploy
Prod
Deploy
Stage
Complex Delivery Pipelines
Delivery of App and Config
Continuous Delivery
ProdDev
16. #jenkinsconf
Key Workflow Features
• Entire flow is one concise Groovy script using Workflow DSL
– For loops, try-finally, fork-join …
• Can restart Jenkins while flow is running
• Allocate slave nodes and workspaces
– As many as you want, when you want
• Stages throttle concurrency of builds
• Human input/approval integrated into flow
• Standard project concepts: SCM, artifacts, plugins
17
26. #jenkinsconf
Footer
Leading the Charge on CD Support for Containers
Containers & Jenkins
• OSS Docker plugins June 18
• OSS Kubernetes plugins
Workflow Support
• DSL for Docker and Kubernetes
• Improve pipeline visualization
across organization
Others
• Ops dashboard
27
28. #jenkinsconf
High Availability for Mission Critical Jenkins
Servers
Developers
Source
Code
Control
System
Code Check-Ins
Results
Reports
Jenkins Master Server
Cluster with Failover
31. #jenkinsconf
Monitoring, Visualization and Analytics
Jenkins Workflow Stage View –
Visibility into Pipeline status
Jenkins Analytics – Cross-Team Build
Analytics
… among many other features, tailored for
enterprise organizations using Jenkins @ scale
33. #jenkinsconf
Solution Packs
TEAM EDITION ENTERPRISE EDITION
Team Edition Features
Ent. Edition Features
Jenkins Core
CloudBees Jenkins Platform for
CloudBees Jenkins Platform
CloudBees Jenkins Enterprise++
CloudBees Jenkins Operations Center++
Team Edition Features
Jenkins Core
CloudBees Jenkins Platform for
CloudBees Jenkins Enterprise
CloudBees Jenkins Operations Center
34. #jenkinsconf
CloudBees Jenkins Platform Team Edition
35
Developer
Productivity
Improved developer feedback loop and eliminate downtime with Validated Merge
and GitHub PR
Team
Management
Organize teams with folders
Recoverability from failures using backup
Security Roles-based access control
Isolate team-sensitive slaves
Analytics Build and performance dashboards
Continuous
Delivery
Build complex delivery pipelines with Workflow
CD with
Containers
Build delivery pipelines with Workflow and Docker
Docker Builds Standardized and Customized Build Environments
Support Module Faster diagnosis for production issues
35. #jenkinsconf
CloudBees Jenkins Platform Enterprise Edition
36
Build & Master
Resilience
Automatic failovers to recover from master failures
Builds that survive master and slave failovers
Optimized
Utilization
Faster builds across geographically distributed slaves with fast archiver
Improved master performance under heavy load with NIO SSH slaves
Enterprise
Management
Ops on cluster of masters; Isolation of teams with custom update centers
Reusable templates
Enterprise
Analytics
Insights in to plugin usage
Enterprise CD Pipeline performance and developer insights
Recover from failures from check pointed locations
VMWare
vSphere builds
vSphere build slaves
Enterprise
Security
Secure inter-master artifact exchange with Secure Copy
38. #jenkinsconf
Adoption of Jenkins at high-end
• Big companies are adopting Jenkins at scale
– 1000s of developers & applications
– Role separation: admins & users
– Balance b/w central control vs autonomy
– Need to reduce admin overhead
40
39. #jenkinsconf
Jenkins as a Service
• Interest in operating “Jenkins as a Service”
– Self-service provisioning for developers
– Tailored out-of-box experience
– Centralized management
41
40. #jenkinsconf
And we have the technology
• DEV@Cloud
– 1000s of masters on EC2
– Elastic masters & build slaves
– Modified out-of-box experience
• We’ve been working on delivering this
experience to people on-prem
42
42. #jenkinsconf
CD@cloud-scale DEV@cloud
• Package software, not a service
• Turn-key setup
• Multi-tenanted slaves
• Multi-tenanted master
• Builds on top of CloudBees Jenkins Platform
– Analytics, Cluster Operations, …
• Available on AWS and OpenStack initially
43. #jenkinsconf
From IT’s point of view
46
Big Honking Box Big Honking Box Big Honking Box
Big Honking Box Big Honking Box Big Honking Box
Big Honking Box Big Honking Box Big Honking Box
HTTPreverseproxy
Storage
51. #jenkinsconf
Summary
• Building Modern CD Pipelines with Jenkins, Jenkins
Workflow and Docker
• Bringing in CD to Teams and Enterprise-scale with
CloudBees Jenkins Platform
• Operating Jenkins at cloud-scale with Tiger
54
53. #jenkinsconf
Use Case: End to End Continuous Delivery
Source
Code
(git, etc.)
Certified
Docker
Images
(Ubuntu, etc.)
+
Triggers:
• New application code (i.e. feature, bug, etc.)
• Updated certified stack (security fix in Linux, etc.)
… will lead to a new gold image being built and
available for…
… TESTING
… STAGING
… PRODUCTION
All taking place in a standardized/similar environment
54. #jenkinsconf
Use Case: End to End Continuous Delivery
Source
Code
(git, etc.)
Certified
Docker
Images
(Ubuntu, etc.)
+
Company
“Gold”
Docker Img
(~per app)
TESTING
STAGING
PRODUCTION