AD38 - Building Quality into Your Release Pipeline - - PDF document

ad38 building quality into your release pipeline
SMART_READER_LITE
LIVE PREVIEW

AD38 - Building Quality into Your Release Pipeline - - PDF document

AD38 DevOps Practices 11:30 AM AD38 - Building Quality into Your Release Pipeline Presented by: Troy Walsh


slide-1
SLIDE 1

¡ ¡ ¡ ¡ AD38 ¡

DevOps ¡Practices ¡ 11:30 ¡AM ¡ ¡ ¡ ¡ ¡ ¡

AD38 ¡-­‑ ¡Building ¡Quality ¡into ¡Your ¡ Release ¡Pipeline ¡ ¡

Presented ¡by: ¡ ¡ ¡ ¡

Troy ¡Walsh ¡

¡ ¡Magenic ¡ ¡

Brought ¡to ¡you ¡by: ¡ ¡ ¡ ¡

¡ ¡ ¡ ¡

888-­‑-­‑-­‑268-­‑-­‑-­‑8770 ¡·√·√ ¡904-­‑-­‑-­‑278-­‑-­‑-­‑0524 ¡-­‑ ¡info@techwell.com ¡-­‑ ¡https://agiledevopswest.techwell.com/ ¡

¡
slide-2
SLIDE 2

¡

Troy ¡Walsh ¡

¡ Troy ¡Walsh ¡is ¡the ¡national ¡quality ¡assurance ¡& ¡testing ¡practice ¡lead ¡and ¡co ¡DevOps ¡lead ¡ for ¡Magenic ¡Technologies. ¡He ¡started ¡his ¡career ¡in ¡the ¡DevOps ¡space ¡as ¡a ¡Release ¡ developer, ¡creating ¡custom ¡build, ¡deployment ¡and ¡installation ¡solutions ¡for ¡Epic ¡

  • Systems. ¡Following ¡Epic, ¡he ¡transitioned ¡to ¡consulting ¡where ¡he ¡developed ¡a ¡love ¡for ¡

test ¡automation. ¡Troy ¡is ¡a ¡frequent ¡blogger ¡(Magenic.com ¡and ¡CIO.com) ¡and ¡speaker ¡ (Twin ¡Cities ¡Test ¡Automation ¡Group, ¡SauceCon, ¡The ¡Executive ¡Leadership ¡Institute ¡and ¡ more) ¡with ¡a ¡passion ¡for ¡test ¡automation ¡and ¡DevOps. ¡

slide-3
SLIDE 3

Building Quality into Your Release Pipeline

Troy

  • y Wals

lsh

6.6.19

slide-4
SLIDE 4

2

» A note about tooling » High level overview of DevOps » What we mean by quality » The key to effective DevOps » Core concepts » Live demo » Questions

Overview

slide-5
SLIDE 5

3

» Process over tooling » Let your needs dictate

your tools

» Beware of the best of

breed trap

A Note About Tooling

slide-6
SLIDE 6

4

» Defined Processes

› Transparency › Consistency

» Automation

› Deployments › Configuration › Testing

» Fast feedback

› Business › Development

DevOps High-level

Plan

  • Backlo

cklog Groo

  • oming

ming

  • Sprint

int plannin nning

Build ld

  • Develop

elop

  • Compi

mpile le

  • Conf

nfigur igure/ e/Deplo eploy

  • Create

e Artif ifact ct

  • Operabili

ility

Test

  • Unit

it

  • Feature

ure

  • Regres

ession ion

  • Performa

manc nce

  • UAT
  • Secur

curit ity

Release lease

  • Artif

ifact

  • Conf

nfigur igure/ e/Deplo eploy

  • Hosting

ing

Oper erat ate

  • Conf

nfigur iguration ion

  • Depl

ployme

  • yment

nt

  • Healt

lth checks ecks

Monit itor

  • r
  • Usage

ge

  • Failur

ilures es

  • User

er feed edback ck

  • Suppor

port ticket kets

slide-7
SLIDE 7

5

» Code » Processes » Product » Operability

What Do We Mean By “Quality”

slide-8
SLIDE 8

6

Pl Plan T an To

  • Fail

ail

slide-9
SLIDE 9

7

» CI

› Continuous integration

» CD

› Continuous delivery or deployment

» CT

› Continuous testing

Terms

slide-10
SLIDE 10

8

» Where source code lives » Tracks change history » Provides a way to branch

*Different source control technologies do this differently

» Provides a way to share branches

Source Control

slide-11
SLIDE 11

9

» Looks at the source code » Finds style, code quality, test

coverage and security issues

» A must for any enterprise level

application

Static Code Analysis

slide-12
SLIDE 12

10 10

» Criteria that must be met before an automated process can continue » Helps assure quality » Types

› Code › Build › Deploy › Quality

Gates

slide-13
SLIDE 13

11 11

» Build that runs be

befor

  • re merging changes into a shared branch

» Can be part of branch policy » Should only run unit test » Time sensitive

Gated Check-in

slide-14
SLIDE 14

12 12

» Kicking off a process when an event

happens

» Event types

› CI › Scheduled › Manual › Hybrid

Triggers

slide-15
SLIDE 15

13 13

» Group of tasks that compile and/or package

content

» Content typically comes form source control » Build artifact

› A copy of the content created via a build process

Build

slide-16
SLIDE 16

14 14

» Black box testing » Lives with the application code » Typically done by development

Unit Test

slide-17
SLIDE 17

15 15

» Taking the results of a build and

packaging it to a redistributable form

Package

slide-18
SLIDE 18

16 16

» CI = Continuous Integration » Build that runs after merging changes into

a shared branch

» Process by which changes to a shared

repository are automatically built and tested with each check-in

» CI build artifacts are often used as release candidates

CI

slide-19
SLIDE 19

17 17

» Copying files to a host » Often packages are what get deployed » Example:

› Bring down service › Copy over new files › Configure new content › Bring back up service

Deployment

slide-20
SLIDE 20

18 18

» CD = Continuous Deployment » Process by which changes to a shared repository are automatically

deployed with each check-in

» Runs after CI » Often deploys CI artifacts

CD

slide-21
SLIDE 21

19 19

» Process by which changes get released to environments

Release Pipeline

slide-22
SLIDE 22

20 20

» Global application value » Often needs to be updated for each

environment

*Especially ally true when build arti tifa facts cts are deployed

» Common override strategies

› Environment variables › Transform › Scripted › Host override

Configuration

slide-23
SLIDE 23

21 21

» CT = Continuous Testing » An automated process which attempts to measure or assure the quality

  • f an automated deployment

» Runs as part

t of

  • f CD

» Often used as a CD gating mechanism » Often, but not always, accomplished by leveraging ATDD and/or BDD

practices

CT

slide-24
SLIDE 24

22 22

» Verifies the application is

responsive

» Several different types are

load, stress and response time tests.

CT - Performance

slide-25
SLIDE 25

23 23

» Proactively monitor product

› Resources › Bottle necks › Synthetic transactions

» Find problems earlier

› Autoscaling › Blue-Green deployments

» Learn

› Analytics › User feedback

Monitoring

slide-26
SLIDE 26

24 24

What This Looks Like In Practice

slide-27
SLIDE 27

26 26

Questions

slide-28
SLIDE 28

877.277.1044 7.277.1044 / mage genic.c .com m //

// 27

27

THANK YOU