jumping from continuous integration to continuous delivery with jenkins enterprise

Post on 14-Jan-2015

1.443 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

mprichard@cloudbees.com

Andrew Phillips, XebiaLabs

VP, Product Management

aphillips@xebialabs.com

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: mprichard@cloudbees.com

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: mprichard@cloudbees.com

Andrew Phillips, VP Product Mgmt, XebiaLabs

twitter: @XebiaLabs

email: aphillips@xebialabs.com

Thank You!

top related