Demystifying CI/CD 1 / 33

TickTock 2 / 33

Head of DevRel 3 / 33

“DevOps” 4 / 33

DevOps Lifecycle 5 / 33

Plan DevOps Lifecycle 5 / 33

Plan Code DevOps Lifecycle 5 / 33

Plan Code DevOps Lifecycle Build 5 / 33

Plan Code DevOps Lifecycle Build Test 5 / 33

Plan Code DevOps Lifecycle Build Test Releases 5 / 33

Plan Code DevOps Lifecycle Build Test Releases Deploy 5 / 33

Plan Code DevOps Lifecycle Build Test Releases Deploy Operate 5 / 33

Plan Code DevOps Lifecycle Build Test Releases Deploy Operate Monitor 5 / 33

Continuous {Integration|Delivery} 6 / 33

“CI” 7 / 33

Merge code changes often “CI” 7 / 33

Merge code changes often “CI” Run automated tests to validate builds 7 / 33

Merge code changes often “CI” Run automated tests to validate builds Only integrate tested code into code base 7 / 33

Merge code changes often “CI” Run automated tests to validate builds Only integrate tested code into code base Changes frequently merged into release branches 7 / 33

“CD” 8 / 33

Faster release cycles “CD” 8 / 33

Faster release cycles “CD” Low-risk releases 8 / 33

Faster release cycles “CD” Low-risk releases Higher quality 8 / 33

Faster release cycles “CD” Low-risk releases Higher quality Lower costs 8 / 33

So now can I CI/CD? 9 / 33

CI or CD? 10 / 33

Code creation 11 / 33

Code orchestration 12 / 33

Code logistics 13 / 33

Benefits of CI 14 / 33

Benefits of CI Improve team productivity and efficiency 14 / 33

Benefits of CI Improve team productivity and efficiency Accelerate speed to market 14 / 33

Benefits of CI Improve team productivity and efficiency Accelerate speed to market Identify product/market fit 14 / 33

Benefits of CI Improve team productivity and efficiency Accelerate speed to market Identify product/market fit Release higher quality, more stable products 14 / 33

Benefits of CI Improve team productivity and efficiency Accelerate speed to market Identify product/market fit Release higher quality, more stable products Increase customer satisfaction 14 / 33

Benefits of CI Improve team productivity and efficiency Accelerate speed to market Identify product/market fit Release higher quality, more stable products Increase customer satisfaction Keep developers happy and shipping code 14 / 33

Say WHAT about benefits? 15 / 33

I feel the need…. the need for SPEED! 16 / 33

I feel the need…. the need for SPEED! 1. Customers get access to new features faster 16 / 33

I feel the need…. the need for SPEED! 1. Customers get access to new features faster 2. Company gets a faster ROI from new features 16 / 33

So now we CI? 17 / 33

Make sure everyone is on the same page 18 / 33

Always start small 19 / 33

Do what works for you 20 / 33

Always measure 21 / 33

Do not try to automate everything 22 / 33

Proof of concept 23 / 33

A rigorous testing practice Proof of concept 23 / 33

A rigorous testing practice Proof of concept Consistent software environments 23 / 33

A rigorous testing practice Proof of concept Consistent software environments Training on continuous integration practices. 23 / 33

A rigorous testing practice Proof of concept Consistent software environments Training on continuous integration practices. Reports to measure key metrics. 23 / 33

CI/CD Better Practices 24 / 33

CI/CD Better Practices Make testing an integral part of the development process. 24 / 33

CI/CD Better Practices Make testing an integral part of the development process. Ensure that the testing environment mirrors production. 24 / 33

CI/CD Better Practices Make testing an integral part of the development process. Ensure that the testing environment mirrors production. Use coding better practices, such as pair programming. 24 / 33

CI/CD Better Practices Make testing an integral part of the development process. Ensure that the testing environment mirrors production. Use coding better practices, such as pair programming. Automate the deploy workflow. 24 / 33

Key CI/CD Metrics 25 / 33

Key CI/CD Metrics Lead time 25 / 33

Key CI/CD Metrics Lead time Deployment frequency 25 / 33

Key CI/CD Metrics Lead time Deployment frequency Mean time to recovery (MTTR) 25 / 33

Key CI/CD Metrics Lead time Deployment frequency Mean time to recovery (MTTR) Change fail percentage 25 / 33

Regular cadence 26 / 33

TESTING 27 / 33

Continuous Testing 28 / 33

Unit/component tests 29 / 33

Integration tests 30 / 33

UI layer testing 31 / 33

“DevOps for Dummies” - Emily Freeman “Accelerate” by Forsgren, Humble, & Kim Resources “The DevOps Handbook” by Kim, Debois, Willis, Humble, & Allspaw “Continuous Delivery” - Martin Fowler “Continuous Delivery vs Continuous Deployment” - Jez Humble 32 / 33

Thank You Jeremy Meiss  @IAmJerdog  @jerdog  @jeremymeiss 33 / 33