Ensuring Technical Readiness For Copilot in Microsoft 365
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. 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
13
14. 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”
14
15. 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?
15
16. 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
16
17. 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
17
18. 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
18
19. 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
19
20. 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
20
21. Q&A
Mark Prichard
CloudBees
Andrew Phillips
XebiaLabs
21
22. 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
22