Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise
1. Jumping from Continuous Integration to
Continuous Delivery with Jenkins Enterprise
Andrew Phillips, XebiaLabs
Mark Prichard, CloudBees
September 12, 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
• What is Jenkins and Jenkins
Enterprise?
• The Challenges of CI
• CI Best Practices
• Jumping to CD
• CD Best Practices
• How to get started
4
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
5
8. Why Jenkins for Enterprise Development?
• 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
8
9. Demo: Building a “Social” Chess Server
• 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
9
10. Fun App – but „Real‟ Java Development
• 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
10
11. Testing, Testing, Testing
• 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
11
12. Jenkins and Agile CI Best Practices
Continuous Monitor Continuous
Deployment Repository
Integration
The Key to Agile and Lean
Development
Stage Build Code • Better quality products
Application
• Faster delivery
Test Code
• Scale teams
12
13. Our Company. Our Product.
o Headquartered in
Boston, Massachusetts
o Global development and support
offices in NL, UK, France and India
Benefits include:
o Reduce development applications costs
o Accelerate application time to market
o Bridge the gap between Development and
Operations
13
14. Continuous Delivery with Jenkins
• 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
14
15. CD in the Enterprise
• 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”
15
16. CD “Getting Started” Questions
• 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?
16
17. Demo: What's Coming Up
• Two variants of the chess demo application
• Same build/deploy/test pipeline in Jenkins
• 1x JBoss & MySQL
• 1x Tomcat & MongoDB
• Deployit Release Dashboard
17
18. Use Deployit & Jenkins to...
• 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
18
19. Sign Up with CloudBees
• 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
19
20. Learn More in San Francisco!
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: mprichard@cloudbees.com
For more info: www.cloudbees.com
Phone: +1.781.404.5100
20
21. Try Jenkins & Deployit
• 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
21
22. Q&A
Mark Prichard
CloudBees
Andrew Phillips
XebiaLabs
22
23. 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
23