jenkins: from continuous integration to continuous delivery

Post on 11-May-2015

16.601 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Continuous Delivery is the highest form of Continuous Integration. More than just automated deployment, Continuous Delivery involves a mindset change - any build that passes the necessary quality gates can be deployed into production on demand.In this talk, 'Jenkins: The Definitive Guide' author John Ferguson Smart discusses strategies enabling you to turn your Jenkins server into a Continuous Delivery platform, including:- Ways to ensure your builds are always production-ready - automatically!- Parameterizing your builds with style!- Using build pipelines and build promotion in Jenkins to filter out poor builds and streamline the build process.- Reusing artifacts across builds- Rolling back and redeploying previous builds- Deploying to app servers and to the cloudThis talk is aimed at developers and build engineers with some previous experience with Hudson/Jenkins.

TRANSCRIPT

JenkinsFrom Continuous Integration to Continuous Delivery

John Ferguson SmartCEOWakaleo Consulting

Who is this guy, anyway?

2

John Ferguson Smart

ConsultantTrainerMentorAuthorSpeakerCoder

Continuous Delivery

3

Ge5ng  value  to  the  business.Fast.

CI in the clouds

4

DEV

INTEGRATION

STAGING

PROD

Demonstration environment

Source  code  on  Github

Demonstration environment

Jenkins  instance  on  Amazon

Demonstration environment

Deploying  to  CloudBees  @RUN

Demonstration environment

Our  applicaLon

Branching into Continuous Delivery

or:   How   I   Stopped   Worring   And  Learned  to  Love  Feature  Branches

Branching into Continuous Delivery

Stable  

Feature  A  

Feature  B  

Feature  C  

Branching into Continuous Delivery

Stable  

Feature  A  

Feature  B  

Feature  C  Pick  and  choose  what  goes  into  a  release

Everyone  needs  a  canary  or  two

Branching into Continuous Delivery

The  problem  with  feature  branches

Branching into Continuous Delivery

Stable  

IntegraLon

Branching into Continuous Delivery

Stable  

IntegraLongameoflife-­‐integraLon

Branching into Continuous Delivery

Feature  branch  integraLon  is  easy  with  git  and  Jenkins

DEMOThe integration branch in action

Smoke tests

ConLnuous  Delivery  is  impossible  without  ConLnuous  Quality

“Where  there’s  smoke,  there’s  fire”

Smoke tests

gameoflife-­‐integraLon

gameoflife-­‐smoke-­‐tests

STAGING

INTEGRATION

PROD

DEV

Smoke tests

gameoflife-­‐integraLon

gameoflife-­‐smoke-­‐tests

DEV

Smoke  Tests  can  also  be  Automated  Acceptance  Tests

DEMOSmoke Tests in Action

Continuous Delivery

Deliveries  when  the  business  needs  them

Continuous Delivery

Stable  

Feature  B  

gameoflife-­‐default

gameoflife-­‐code-­‐quality

gameoflife-­‐release-­‐candidate

gameoflife-­‐smoke-­‐tests

STAGING

1.2.3

DEMOProducing a release candidate

Build Pipeline

Pushing  your  code  into  producLon

Build Pipeline

Stable  

gameoflife-­‐default

gameoflife-­‐code-­‐quality

gameoflife-­‐release-­‐candidate

gameoflife-­‐smoke-­‐tests

STAGING

gameoflife-­‐deploy-­‐to-­‐prod

gameoflife-­‐smoke-­‐tests

PROD

1.2.3

Build Pipeline

DEMOThe build pipeline

THANK YOU!John  Ferguson  Smart

Email:  john.smart@wakaleo.comWeb:  h`p://www.wakaleo.com

Twi`er:  wakaleo

top related