Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Continuous delivery with jenkins pipelines (@WeAreDevelopers2017)

572 views

Published on

Continuous Delivery with Jenkins Pipelines
This lightening talk demonstrates how a continuous delivery deployment pipeline can be set up harnessing jenkins 2’s Pipeline as Code features as well as its brand new Blue Ocean User Experience.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Continuous delivery with jenkins pipelines (@WeAreDevelopers2017)

  1. 1. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Con4nuous Delivery with Jenkins Pipelines Roman Pickl
  2. 2. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com •  10+ years’ experience in integra4ng transport systems •  22 mobility Apps in the stores •  43+ million requests / month •  500.000+ unique users / month At a glance qando Vienna, Linz, Graz, Salzburg, Klagenfurt. SMILE Lighthouse project for integrated mobility Wien Mobil Lab Vienna FluidHub Powering the Integrated Mobility and MaaS Ecosystem 2009 avv connect Aachen Region, North Rhine-Westphalia. 2014 NUMO Vienna 2012 2015 2016
  3. 3. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com How did I end up here? •  Roman Pickl (@rompic) •  CTO @ Fluid4me •  In charge of the technical development •  Uses Jenkins since 2012 •  Loves CI/CD/DevOps •  Here to learn
  4. 4. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Con4nuous Delivery (CD) Automated implementa4on of your system‘s build, deploy, test, release process •  Every change results in a build •  Every build is a release candidate •  Delivery can be done at any 4me, on any environment à Make releases a non-event Deployment Pipeline provides: •  Visibility •  Feedback •  Control Read these books! Jez Humble on Con4nuous Delivery(2012): hgps://www.youtube.com/watch?v=skLJuksCRTw
  5. 5. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Deployment Pipelines (Let’s build it with jenkins) (Jez Humble D. F., Con4nuous Delivery: Reliable Sojware Releases Through Build, Test, and Deployment Automa4on, 2010)
  6. 6. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Jenkins #1 Con4nuous Integra4on and Delivery server •  Created by Kohsuke Kawaguchi •  Ini4al Release 2005 (Hudson) •  Open Source (MIT License) •  Ac4ve and independent community (hgps://jenkins.io) •  100,000 ac4ve installa4ons •  300,000 Jenkins servers •  1,200+ plugins (!) •  Since 2.0 Pipelines (April 2016) are first class ci4zens •  Pipeline as Code (Jenkinsfile) •  New User Experience “Blue Ocean” 1.0 released in April •  BlueOcean Pipeline Editor Plugin (0.2.0) hgp://dduportal.github.io/presenta4ons/mixit-2017-jenkins-pipeline/slides.html#/meet_jenkins hgps://jenkins.io/blog/2017/04/05/say-hello-blueocean-1-0/
  7. 7. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Jenkinsfile Wrigen in a Groovy DSL Store in SCM (e.g. GIT) for addi4onal benefits •  Code review/itera4on •  Audit trail •  Single source of truth Supports two syntaxes (can be mixed) •  Declara4ve pipelines (easier; new since 2.5) •  Scripted pipelines (more powerful) hgps://jenkins.io/doc/book/pipeline/jenkinsfile/
  8. 8. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Jenkinsfile (serngs)
  9. 9. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Jenkinsfile (stages)
  10. 10. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Parallel execu4on
  11. 11. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Approval ... Deploy to Stage, Deploy Live, Release omiUed here
  12. 12. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Post Build No4fica4ons
  13. 13. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Demo 1.  docker run -p 8080:8080 -p 50000:50000 jenkinsci/jenkins:lts 2.  Go to hHp://localhost:8080/ 3.  Unlock jenkins with iniKalpw from log file 4.  Install default plugins 5.  Create admin user 6.  Install Blue Ocean and Blue Ocean Pipeline Editor 7.  Open hHp://localhost:8080/blue/pipelines 8.  Generate new Pipeline with Github repository 9.  Create JenkinsFile (e.g. hHps://github.com/rompic/jenkinspipeline)
  14. 14. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Overview
  15. 15. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Approval
  16. 16. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Detail
  17. 17. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Pipeline Editor (beta)
  18. 18. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Snippet generator
  19. 19. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Website: hgps://jenkins.io Blog: hgps://jenkins.io/node/ Gerng Started hgps://jenkins.io/doc/book/gerng-started/ hgps://jenkins.io/doc/book/pipeline/syntax/ hgps://jenkins.io/doc/pipeline/steps/ hgps://jenkins.io/doc/book/blueocean/gerng-started/ hgps://github.com/jenkinsci/pipeline-model-defini4on-plugin/wiki/gerng%20started Docker File: hgps://github.com/jenkinsci/docker/blob/master/README.md References & further informa4on
  20. 20. © 2017 Copyright Fluid4me Data Services GmbH | www.fluid4me.com Contact Roman Pickl (@rompic) roman.pickl@fluid4me.com Fluid4me Data Services GmbH Neubaugasse 12-14/25 A–1070 Wien Tel +43 (0)1 5860 180 www.fluid4me.com

×