Upgrade to Pro — share decks privately, control downloads, hide ads and more …

05-Jenkins Pipelines in continuous action by Ol...

05-Jenkins Pipelines in continuous action by Oliver Milke

DevOps Gathering

March 12, 2019
Tweet

More Decks by DevOps Gathering

Other Decks in Programming

Transcript

  1. // • > 10 years of software developement • Software

    Craftsman @cloudogu • JUG Ostfalen • Fitness / Freeletics Oliver Milke Software Craftsman https://twitter.com/OliverMilke About me https://twitter.com/cloudogu Cloudogu GmbH // 2
  2. Intro Jenkins Pipelines - overview and basics Pipeline Show Case

    //Where the journey goes Cloudogu GmbH // 3
  3. Cloudogu GmbH // 6 1. Efficiency 2. Quality 3. Fun

    ☺ TOP 3 good reasons for automation
  4. Cloudogu GmbH // 8 Facts 3.3B transactions per day $21B

    trade volumne per day 17% of the trades on NYSE and NASDAQ $365M in cash 31st July 2012
  5. Cloudogu GmbH // 9 Epic Drama software development and operations

    Dev + Ops What is the cost of bad culture?
  6. Cloudogu GmbH // 10 What is the cost of bad

    culture? infinite amount of sweat beads
  7. Cloudogu GmbH // 11 What is the cost of bad

    culture? 45 minutes of malfunction
  8. Cloudogu GmbH // 13 What is the cost of bad

    culture? bankruptcy https://dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale
  9. Cloudogu GmbH Continuous… ✓ Integration ✓ Delivery ✓ Deployment ✓

    Testing ✓ Inspection ✓ Monitoring ✓ Improvement // 16
  10. Cloudogu GmbH Jenkins 2 Pipeline a.k.a. Pipeline as Code Jenkinsfile

    // 22 https://plugins.jenkins.io/workflow-aggregator https://jenkins.io/doc/book/pipeline/
  11. Cloudogu GmbH About the Talk accompanying article series // 24

    https://cloudogu.com/en/blog/continuous_delivery_1_basics https://cloudogu.com/en/blog/continuous_delivery_2 https://cloudogu.com/en/blog/continuous_delivery_part_3 https://cloudogu.com/en/blog/continuous_delivery_4_en
  12. // Steps & Stages • Steps of the build process

    • scm checkout • mvn package • docker build • cubectl apply • sh 'magic‘ • Logic clustering to stages • Build • Test • Deploy Cloudogu GmbH // 26
  13. Long Build Jobs parallelization 1 Agent* n Agents ⚠️ 1

    Workspace ⚠️ Setup synchronization exmaple Cloudogu GmbH // 31
  14. Pro Tip #3 Cloudogu GmbH // 33 http://www.cronmaker.com/ CronMaker is

    a utility which helps you to build cron expressions.
  15. Similar Pipelines a.k.a Don‘t Repeat Yourself re-use load Shared Lib

    ⚠️ Pipeline Repository ⚠️ Groovy Script Cloudogu GmbH // 34
  16. // Credentials • Secrets do not belong in the Jenkinsfile

    - never • Inbuilt security handling https://jenkins.io/doc/book/using/using-credentials/ Cloudogu GmbH // 42
  17. Dogus Cloudogu GmbH // 47 Lint Setup Build Integration Tests

    Provision Wait 4 Dependencies Verify Clean Checkout ~ 10 minutes
  18. k8s training slides Cloudogu GmbH // 49 Build Checkout Deploy

    Nexus package Deploy Kubernetes ~ 3 minutes
  19. demo.cloudogu.net Cloudogu GmbH // 51 Decide Color Apply Demo Content

    Destroy Old Instance Checkout Create New Instance Switch DNS Record ~ 22 minutes
  20. private CES demo instances Cloudogu GmbH // 52 Apply or

    Destroy Demo Content Checkout Verify ~ 3 minutes
  21. // Wrap Up • Jenkins Pipelines is Classic Jenkins as

    Code • Steps grouped in Stages • Code Generator for exploration • Don‘t Repeat Yourself • Test automation is part of the story • Parallise if needed • Use Docker build agents for step execution Cloudogu GmbH // 53
  22. // Wrap Up • Delivery in a containerized world is

    much easier • Automation is extremely valuable ☺ • Learning from mistakes is essential Cloudogu GmbH // 54