cdsummit austin - orchestrating the continuous delivery process - andy pemberton

Post on 16-Apr-2017

464 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

201

5 Cl

oudB

ees,

Inc.

All

Righ

ts R

eser

ved

Orchestrating Continuous DeliveryCD Summit – Austin – October, 2015

@apemberton

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

2

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d #CDSummit

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

3

“Software is eating the world.”

“Every business is in the software business.”

“It’s anapplication economy.”

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

4

GPS

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

5

GPS

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

6Photo courtesy of Steve Jurvetson via Flickr

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

7

How Do You Deliver Better Software Faster?

ProdDev

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

8

Automate

Photo courtesy of Steve Jurvetson via Flickr

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Continuous Delivery (CD) Automates the SDLC

ProdDev BuildCommit Test Stage Deploy

Feedback Loop

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

CD Starts with Continuous Integration (CI): Automating Application Build and Test *

Continuous Integration

ProdDev

Automation Engine

Developer

Source Code

Control System

Compile/BuildCode

Scan TestsCodeCommit

Results Report

BuildCommit Test

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Automation Engine

Developer

Source Code

Control System

Compile/BuildCode

Scan TestsCodeCommit

Results Report

CD Then Extends Automation Across the Lifecycle

BuildCommit Test Stage Deploy

Deploy Prod

Deploy Stage

Complex Delivery Pipelines

Delivery of App and Config

Enterprise-grade CD Automation Platform

Continuous Delivery

ProdDev

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Continuous Delivery – Testing Spectrum

12

Unit Tests

Integration Tests

Quality Tests

Functional Tests

Security Tests

Performance Tests

System Tests

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

13

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

How Not To Do CDby Andy Pemberton

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

CD Vision

IDE

Git

Jenkins

Gradle

Sonar

SecurityScan

Int. Tests

Artifactory

Puppet Jetty

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

So Off We Went…

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Continuous Delivery VisionReality

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Continuous Delivery Vision - Refactored

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

20

Don’t Boil the Ocean

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Take the Small Wins and Iterate!• QA could now perform their own deployments

– … and that’s how I became best friends with the QA manager

– Saved multiple hours, 2-3x per sprint, 40 developers == $$$

• … and 12.8% code coverage 71% code coverage

• By the way, 12 teams == 12 dev-int servers --- my next challenge

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

22

Leverage Your Team• Transformations are taking place across the globe (Agile,

CI/CD, etc.)

• Key roles are changing, too (traditional QA to SDET / Test Engineer)

• Spot talent, re-train, and re-tool– Example with BDD

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

With Workflow, Jenkins is Now Your Key to Continuous Delivery

Developer

Source Code

Control System

Compile/BuildCode

Scan TestsCodeCommit

Results Report

BuildCommit Test Stage Deploy

Deploy Prod

Deploy Stage

Complex Delivery Pipelines

Delivery of App and Config

Continuous Delivery

ProdDev

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Developer

Source Code

Control System

CodeCommit

Workflow Enables Pipelines for Application Code

BuildCommit Test Stage Deploy

Continuous Delivery

ProdDev

BuildCommit Test Stage Deploy

BuildCommit Test Stage Deploy

BuildCommit Test Stage Deploy

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Workflow Pipelines – Complex and Robust

Continuous Delivery

ProdDevPerf Test

BuildCommit Selenium Test Stage Deploy

Sonar Test

Pipelines Need:• Branching• Looping• Restarts• Checkpoints• Manual Input

??

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

26

Key Workflow Features• Sophisticated pipeline semantic

– For loops, try-finally, fork-join …

• Resiliency– Restart Jenkins while flow is running

• Allocate slave nodes and workspaces– As many as you want, when you want

• Stages throttle concurrency of builds

• Secure human input / approval integrated into flow

• Standard project concepts: SCM, artifacts, plugins

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

DeployStageTest

Deploy

Build

StageTestBuild

DeployStageTestBuild

DeployStageTestBuild

Executing, Monitoring, and Providing Feedback

Commit ProdDev

Commit

Commit

Commit

Continuous Delivery

Developer

Source Code

Control System

CodeCommit

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Workflow Stage View Enables CD Pipeline Monitoring

Continuous Delivery

ProdDev

Developer

Source Code

Control System

CodeCommit

• Branching• Looping• Restarts• Checkpoints• Manual Input

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Over 1000 Jenkins Plugins for Tool Integration

Integrated Development Environments (IDEs), editors/compilers/debuggers, code review and collaboration tools.

Source code control systems and related asset management tools.

Automated API-based testing frameworks.

Release management and release automation software

Automated API-based testing frameworks, static code analysis tools.

Load Testing Tools and Security Scanning technology

Automated and manual UAT tools

Release management, release automation, and change control software.

Environment and Configuration Management SoftwareDevelop

Commit

Build & Integrate

Unit Tests

Release(to Test)

AutomatedRegression Tests

Release(to Prod)

User Acceptance Tests

Load & Security Tests

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Jenkins is the Hub of the CD Ecosystem

On-premise or in the cloud

Plug-ins for all your tools

RunDeployStageTestBuildCommit

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

© 2015 CloudBees, Inc. All Rights Reserved

Open Source Innovation Meets Enterprise Strength

31

JenkinsOSS

Community Powered CI/CD Innovation Jenkins for the Enterprise

Jenkins Platform

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

Example: Monitoring, Visualization and Analytics

Jenkins Workflow Stage View – Visibility into Pipeline status

Jenkins Analytics – Cross-Team Build Analytics

… among many other features, tailored for enterprise organizations using Jenkins @ scale

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

CloudBees is Powering CD Across IndustriesA sampling of CloudBees customers

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

d

34

Additional Jenkins Services from CloudBees

Jenkins Certified Training• Delivered via CloudBees partners

Jenkins Consulting• Delivered via CloudBees Professional Services Team

Jenkins Newsletter• Community news and expert tips

Jenkins User Conferences• Learn from other community

members

© 2

015

Clou

dBee

s, In

c. A

ll Ri

ghts

Res

erve

201

5 Cl

oudB

ees,

Inc.

All

Righ

ts R

eser

ved

Thank You!www.cloudbees.com@apemberton

top related