Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise


Published on

Webinar Slides: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

Published in: Technology

Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

  1. 1. Jumping from Continuous Integration toContinuous Delivery with Jenkins EnterpriseAndrew Phillips, XebiaLabsMark Prichard, CloudBeesSeptember 12, 2012 @CloudBees @XebiaLabs
  2. 2. Today‟s Presenters Mark Prichard, CloudBees Senior Director, Product Management mprichard@cloudbees.com Andrew Phillips, XebiaLabs VP, Product Management aphillips@xebialabs.com 2
  3. 3. Using GoToWebinarQuestions?Submit via the controlpanel at any timeduring the presentation. 3
  4. 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. 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
  6. 6. What is Jenkins Enterprise by CloudBees? Jenkins Enterprise is Jenkins LTS + Enterprise Features, backed with Professional Support JenkinsCommunity Community Jenkins LTS Plugins Jenkins Enterprise by Professional Enterprise Support Plugins CloudBees CloudBees ©2012 CloudBees, Inc. All 6
  7. 7. Jenkins Enterprise Plugins Large Optimized Security Installations Utilization • Folders • Roles-based • Auto-scaling • Templates Access Control for VMWare • Backup • Wikitext installations • High Descriptions • Throttled Build Availability • Secure Copy Execution • Custom Update • Even Load Centers Strategy • Validated • Skip Next Build Merges • Fast Archiving ©2011 CloudBees, Inc. All 7
  8. 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. 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. 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. 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. 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. 13. Our Company. Our Product.o Headquartered in Boston, Massachusettso Global development and support offices in NL, UK, France and IndiaBenefits include:o Reduce development applications costso Accelerate application time to marketo Bridge the gap between Development and Operations 13
  14. 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. 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. 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. 17. Demo: Whats 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. 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. 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. 20. Learn More in San Francisco! Jenkins User Conference, San Francisco Sept. 30, 2012 Register to Attend : www.cloudbees.com/juc2012.cbPromo Code: JUC-2012SF ($100 Discount)Mark Prichard, Sr Director Product Mgmt, CloudBees twitter: @mqprichard email: mprichard@cloudbees.comFor more info: www.cloudbees.comPhone: +1.781.404.5100 20
  21. 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. 22. Q&A Mark Prichard CloudBees Andrew Phillips XebiaLabs 22
  23. 23. Thank You!Mark Prichard, Sr Director Product Mgmt, CloudBeestwitter: @mqprichardemail: mprichard@cloudbees.comAndrew Phillips, VP Product Mgmt, XebiaLabstwitter: @XebiaLabsemail: aphillips@xebialabs.com 23