22
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise Andrew Phillips, XebiaLabs Mark Prichard, CloudBees September 12, 2012 @CloudBees @XebiaLabs

Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

Embed Size (px)

DESCRIPTION

Slides from 09/12 Webinar by Andrew Phillips (Xebia Labs) and Mark Prichard (CloudBees)

Citation preview

Page 1: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

Andrew Phillips, XebiaLabsMark Prichard, CloudBeesSeptember 12, 2012

@CloudBees @XebiaLabs

Page 2: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

2

Today’s Presenters

Mark Prichard, CloudBees

Senior Director, Product Management

[email protected]

Andrew Phillips, XebiaLabs

VP, Product Management

[email protected]

Page 3: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

3

Using GoToWebinar

Questions? Submit via the control panel at any time during the presentation.

Page 4: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 5: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 6: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 7: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 8: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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?

Page 9: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 10: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 11: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 12: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 13: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 14: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 15: Jumping from Continuous Integration to Continuous Delivery with Jenkins 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

Page 16: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 17: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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...

Page 18: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 19: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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!

Page 20: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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

Page 21: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

21

Q&A

Mark PrichardCloudBees

Andrew PhillipsXebiaLabs

Page 22: Jumping from Continuous Integration to Continuous Delivery with Jenkins Enterprise

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!