Upload
cloudbees
View
1.450
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Slides from 09/12 Webinar by Andrew Phillips (Xebia Labs) and Mark Prichard (CloudBees)
Citation preview
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise
Andrew Phillips, XebiaLabsMark Prichard, CloudBeesSeptember 12, 2012
@CloudBees @XebiaLabs
2
Today’s Presenters
Mark Prichard, CloudBees
Senior Director, Product Management
Andrew Phillips, XebiaLabs
VP, Product Management
3
Using GoToWebinar
Questions? Submit via the control panel at any time during the presentation.
4
Today’s Agenda
• What is Jenkins and JenkinsEnterprise?
• The Challenges of CI
• CI Best Practices
• Jumping to CD
• CD Best Practices
• How to get started
5
Have you met Jenkins?
• #1 OSS CI server–Written in Java
• About 7 years old• Easy to install/use• Extensible via 550+ plugins• Widely adopted– 43K+ installations
• Jenkins Enterprise value-adds
6©2012 CloudBees, Inc. All Rights Reserved
What is Jenkins Enterprise by CloudBees?
JenkinsCommunity
CloudBees
Jenkins LTS Community Plugins
Professional Support
Enterprise Plugins
Jenkins Enterprise by
CloudBees
Jenkins Enterprise is Jenkins LTS + Enterprise Features, backed with Professional Support
7©2011 CloudBees, Inc. All Rights Reserved
Jenkins Enterprise Plugins
Large Installations
• Folders• Templates• Backup• High
Availability• Custom Update
Centers • Validated
Merges
Security
• Roles-based Access Control
• Wikitext Descriptions
• Secure Copy
Optimized Utilization
• Auto-scaling for VMWare installations
• Throttled Build Execution
• Even Load Strategy
• Skip Next Build• Fast Archiving
8
• To let developers focus on developing– Leave building, packaging, testing, distributing
to a computer– Make the right thing the easiest thing
• Many, well-adopted development plugins including mobile– Safety in numbers
• “Distributed builds” for scaling with workload
• “Matrix project” for easy cross device testing
Why Jenkins for Enterprise Development?
9
• The basics: record games, moves• Next steps: notifications, time keeping • Going further: competition, research• Chess client apps handle actual play• Server doesn’t need to know the rules
• Just for fun: https://github.com/mqprichard/mongo-chess
Demo: Building a “Social” Chess Server
10
• Built using Eclipse, Maven, JUnit, JAX-RS, JAX-B, gson …
• Git repository, Jenkins build/test and app deployment all running on AWS using CloudBees PaaS
• Free to develop: enterprise-grade runtime services
Fun App – but ‘Real’ Java Development
11
• Suppose I add some new killer feature• What do I need to test?– Do all components build correctly?– Do the unit tests pass?– Did the interfaces change?– Have I affected the UI behavior?
• I need this all to happen continuously and automatically – end-to-end testing
Testing, Testing, Testing
12
Jenkins and Agile CI Best Practices
MonitorRepository
Build Code
Test Code
StageApplication
ContinuousDeployment
Continuous Integration The Key to Agile and Lean Development
• Better quality
products
• Faster delivery
• Scale teams
13
• Define pipeline scope and “expansion plan”
• Collect all application components (incl. configuration resources etc.)
• Build environment-independent packages
• Provide automated tests
• Define automatable release triggers & checkpoints
Continuous Delivery with Jenkins
14
• Same pipeline setup across middleware and OS types
• Same pipeline setup in private/hybrid cloud and PaaS environments
• On-demand environment provisioning
• Release Management integration
• End-to-end “paper trail”
CD in the Enterprise
15
• What needs to be in our deployment packages? Can we retrieve these components automatically?
• Can we deploy the same components to all environments, automatically? Can we keep environment information out of our builds?
• What are the stages in our pipeline? How do they map to jobs? Who owns/has access to these jobs?
• What triggers for/checkpoints between pipeline stages do I need? Can I automate triggering/checkpoint validation?
• What happens when a pipeline stage fails?
CD “Getting Started” Questions
16
• Two variants of the chess demo application
• Same build/deploy/test pipeline in Jenkins
• 1x JBoss & MySQL
• 1x Tomcat & MongoDB
• Deployit Release Dashboard
Demo: What's Coming Up
17
• Build complete and environment-independent packages
• Deploy to enterprise middleware environments out-of-the-box
• Keep environment specifics and sensitive information out of your builds
• Provide automated rollback on error
• Integrate release management controls & validation for auditing and compliance
Use Deployit & Jenkins to...
18
• It’s totally free for developers
• One click and we’ll start you off with Jenkins, Java, Scala/Lift, MySQL and more
www.cloudbees.com/signup
Sign Up with CloudBees
19
Jenkins User Conference, San Francisco Sept. 30, 2012
Register to Attend : www.cloudbees.com/juc2012.cb
Promo Code: JUC-2012SF ($100 Discount)
Mark Prichard, Sr Director Product Mgmt, CloudBees
twitter: @mqprichard
email: [email protected]
For more info: www.cloudbees.comPhone: +1.781.404.5100
Learn More in San Francisco!
20
• 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
www.cloudbees.com/signup
Try Jenkins & Deployit
21
Q&A
Mark PrichardCloudBees
Andrew PhillipsXebiaLabs
22
Mark Prichard, Sr Director Product Mgmt, CloudBees
twitter: @mqprichard
email: [email protected]
Andrew Phillips, VP Product Mgmt, XebiaLabs
twitter: @XebiaLabs
email: [email protected]
Thank You!