Continuous delivery with Jenkins Enterprise and Deployit
1. Setting up Continuous Delivery with
Jenkins Enterprise and Deployit
Andrew Phillips, XebiaLabs
Mark Prichard, CloudBees
November 7, 2012
@CloudBees @XebiaLabs
2. Today’s Presenters
Mark Prichard, CloudBees
Senior Director, Product Management
mprichard@cloudbees.com
Andrew Phillips, XebiaLabs
VP, Product Management
aphillips@xebialabs.com
2
4. Today’s Agenda
• Introduction to Jenkins Enterprise
• Introduction to Deployit
• Today’s Delivery Pipeline
• Enterprise Challenges
• Demo
• 5 Points to Get Started
4
5. Have you met Jenkins?
• #1 OSS CI server
• Easy to install/use
• Extensible via 600+ plugins
• Widely adopted
– 47K+ installations
• Very active community
– Over 7 years of history, 440+ releases
– 600+ plugins, 300+ developers
• Jenkins Enterprise value-adds
5
8. Our Company. Our Product.
o Headquartered in Boston, Massachusetts
o Global development and support offices in NL, UK,
France and India
Our flagship product, Deployit, is a market-leading Application
Release Automation platform.
Benefits include:
o Reduce development applications costs
o Accelerate application time to market
o Bridge the gap between Development and Operations
8
9. Today’s Delivery Pipeline
Build
& Deploy to Dev
Deploy to Test
Quality Build
(Tomcat & MySQL)
Deploy to QA
Functional Test
(JBoss & Oracle)
Performance
Deploy to Prod
Tests
9
10. Today’s Delivery Pipeline
• Environments have different middleware
• Different app versions currently running
• Some environments should be limited to
certain users
• Some environments require approval for
deployment
10
11. Enterprise Challenges
• Organizing many jobs
• Standardizing common job parameters
• Securing job access
• Automating job sequence
• Setting up job “guards”
11
12. Role-Based Access Control
• Simple matrix of click- Authentication Features
boxes Provides group details
Row: role (Optional)
Column: permission Supports group lookup
(Optional) Feature
• Define groups at any level
✓ Per-project configuration
• Assign roles to groups ✓ Per-object configuration
• Filter roles at any level ✓ Subtractive permissions
model
✓* Supports external groups
✓ Local group definition
✓ Delegate management
12
13. Prevent Failures – Validated Merge
• Shield your repository
• Rely on Jenkins…
– Push your code to Jenkins
– Jenkins builds, verifies and merges with
upstream
• Result
– No downtime due to bad commits
– Tremendous productivity boost
13
14. Replicate Good Practice - Templates
• Talk in the users domain specific
language
– Shield them
• Capture sameness of jobs, build steps
– Replicate them
• Faster route to success
– building plugins without writing code
14
15. Custom Update Centers
• Get everyone on the same page
• Easy to create your own update center
• Host your plugin or binaries
• Inherit from upstream update centers
• Specify version number of binaries or
plugins to be promoted
15
16. High Availability Plugin
• Failure detection and Reverse Proxy
recovery is automatic
• Multiple Jenkins masters act
as backups waiting for a Jenkins
Master
Jenkins
Master
primary master failure
• Can be used to do rolling Jenkins Cluster
MT
upgrades of Jenkins
• Backup Scheduling Plugin: JENKINS_HOME (NFS)
back up to the Cloud
16
17. Today’s Delivery Pipeline (1)
Build
& Deploy to Dev
Deploy to Test
Quality Build
(Tomcat & MySQL)
Deploy to QA
Functional Test
(JBoss & Oracle)
Performance
Deploy to Prod
Tests
24
18. Today’s Delivery Pipeline (2)
Build
& Deploy to Dev
Deploy to Test
Quality Build
(Tomcat & MySQL)
Deploy to QA
Functional Test
(JBoss & Oracle)
Performance
Deploy to Prod
Tests
25
20. 5 Points to Getting Started
• Define extent and branches of pipeline
• Doesn’t have to be Prod straight away!
27
21. 5 Points to Getting Started
• Define extent and branches of pipeline
• Doesn’t have to be Prod straight away!
• Define triggers and gates for your pipeline
phases
• How many of these can you automate?
28
22. 5 Points to Getting Started
• Define extent and branches of pipeline
• Doesn’t have to be Prod straight away!
• Define triggers and gates for your pipeline
phases
• How many of these can you automate?
• Do only validated code/artifacts get passed
down the pipeline?
• Watch out if new components are
introduced later on
29
23. 5 Points to Getting Started
• Who needs to know/be able to control
what?
• Job settings and deployed configuration
settings can be invisible
30
24. 5 Points to Getting Started
• Who needs to know/be able to control
what?
• Job settings and deployed configuration
settings can be invisible
• How much variation across
projects/platforms do you need to handle?
31
25. Try Jenkins Enterprise & Deployit!
• FREE 60-day trial of Jenkins Enterprise
• Get Deployit and the Jenkins Deployit
plugin
• Start continuous delivery to your
enterprise middleware
• See www.xebialabs.com/jenkins for
information about your free trial
32
26. Try Jenkins in the Cloud!
• Free and complete for developers
• One click to get started with Jenkins,
Play!, Lift, Scala, Sencha, Clojure,
Backbone.js ++
www.cloudbees.com/signup
33
27. Q&A
Mark Prichard
CloudBees
Andrew Phillips
XebiaLabs
34
28. Thank You!
Mark Prichard, Sr Director Product Mgmt, CloudBees
twitter: @mqprichard
email: mprichard@cloudbees.com
Andrew Phillips, VP Product Mgmt, XebiaLabs
twitter: @XebiaLabs
email: aphillips@xebialabs.com
35