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

A DevOps Pipeline - BuildStuff Ukraine 2016

A DevOps Pipeline - BuildStuff Ukraine 2016

A guided tour of using Docker and other best-of-breed tools to deliver quality code from developers to production in a fast and scalable process. What does a modern pipeline look like in the context of Docker?

We’ll cover:

the state of the ecosystem
tools of the trade
process overview
key automations
integrations and hosting
deployment, operations and scaling
working with Docker without losing your mind :)
Target audience: new and intermediate engineers working with/interested in Docker.

Steve Pereira

November 23, 2016
Tweet

More Decks by Steve Pereira

Other Decks in Technology

Transcript

  1. @steveElsewhere ‣ NATURAL START AND END ‣ STARTS WITH SOURCE

    CONTROL ‣ INITIATE WITH EACH CHANGE ‣ RUN IN PARALLEL AND/OR SEQUENTIALLY ‣ SUCCESS MEANS CODE IN PRODUCTION PIPELINE CHARACTERISTICS
  2. @steveElsewhere 1. TRIGGER 2. RUN UNIT TESTS 3. BUILD THE

    IMAGE THAT WE USE TO BUILD OUR APP 4. RUN THE BUILD CONTAINER AND COMPILING OUR APP 5. BUILD THE IMAGE THAT WE RUN AND DEPLOY 6. PUSH THE FINAL IMAGE TO A DOCKER REGISTRY 7. (TRIGGER) 8. PULL AND RUN OVERVIEW
  3. @steveElsewhere QUALITY ASSURANCE LOCAL Unit Mock COMMIT/CI Regression Cross-Device Functional

    Static Analysis Integration TEST ENV Exploratory Acceptance Performance Smoke Security PROD Smoke A / B
  4. @steveElsewhere CI ONSITE ‣ JENKINS ‣ GITLAB CI ‣ GO.CD

    ‣ STRIDER ‣ TEAM FOUNDATION SERVER
  5. @steveElsewhere MEASUREMENT ‣ CYCLE TIME (MTTR) ‣ ITS OK TO

    ADD TESTS ‣ FAILURE RATE ‣ TEST TYPE COVERAGE ‣ CONFIG COVERAGE ‣ MANUAL EDGES
  6. @steveElsewhere --- MACHINE: SERVICES: - DOCKER DEPENDENCIES: PRE: - DOCKER

    PULL FEBUILD - PIP INSTALL --UPGRADE AWSCLI TEST: OVERRIDE: - 'MAKE VERIFICATION-ISOLATION' DEPLOYMENT: PRODUCTION: BRANCH: MASTER COMMANDS: - $(AWS ECR GET-LOGIN) - MAKE JS CSS BUNDLE-LEGACY - MAKE META - ./CONVOX LOGIN CONSOLE.CONVOX.COM - ./CONVOX SWITCH STATFLO/PROD - ./CONVOX DEPLOY --WAIT CIRCLE.YML
  7. @steveElsewhere 1. TRIGGER 2. RUN UNIT TESTS 3. BUILD THE

    IMAGE THAT WE USE TO BUILD OUR APP 4. RUN THE BUILD CONTAINER AND COMPILING OUR APP 5. BUILD THE IMAGE THAT WE RUN AND DEPLOY 6. PUSH THE FINAL IMAGE TO A DOCKER REGISTRY 7. (TRIGGER) 8. PULL AND RUN OVERVIEW AS CI PIPELINE