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

CICD Pipeline mgmt w/Jenkins, Groovy, & Job DSL by Karun

Karl Pena
September 21, 2017

CICD Pipeline mgmt w/Jenkins, Groovy, & Job DSL by Karun

Presented by Karun Komirishetty at NoVA DevOps on 9/19/2017 (Talk 2)

Karl Pena

September 21, 2017
Tweet

More Decks by Karl Pena

Other Decks in Technology

Transcript

  1. Agenda • What is CI/CD pipeline • How to leverage

    Jenkins and Groovy to build CI/CD pipeline • Demo • Q&A
  2. • "Continuous Integration (CI) is a software development practice where

    members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day." -- Martin Fowler • "Continuous Delivery (CD) is a software development discipline where you build software in such a way that a software can be released to production at any time" -- Martin Fowler • "Continuous Deployment (CD) is a third term that's get confused with Continuous Delivery. Where Continuous Delivery provides a process to create frequent releases but not necessarily deploy them, Continuous Deployment means that every change you make automatically gets deployed through the deployment pipeline."
  3. CI/CD Pipeline with Jenkins • Jenkins: Open source tool used

    for CI/CD • CI/CD Pipeline with Jenkins: Set of Jenkins jobs tied together to build and deliver code to various regions Build Commit Pack Deploy Notify Success/Failure CICD Pipeline Tests
  4. Configuration as code • Manage pipeline in source code management

    system • Traceable • Reviewable • Easy to manage Jenkins jobs as number of projects increase or updates are required to existing pipeline
  5. Jenkins + Groovy + Job DSL Plugin • Build a

    seed job (Groovy), a template with a set of steps for CICD process • Developer updates seed job for changes to pipeline • Seed job executed using Job DSL plugin • Seed job creates new pipeline or updates existing pipeline