ad38 building quality into your release pipeline
play

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


  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/ ¡ ¡

  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. ¡

  3. 6.6.19 Building Quality into Your Release Pipeline Troy oy Wals lsh

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

  5. A Note About Tooling » Process over tooling » Let your needs dictate your tools » Beware of the best of breed trap 3

  6. DevOps High-level » Defined Processes Plan • Backlo cklog Groo ooming ming › Transparency • Sprint int plannin nning › Consistency Build ld Monit itor or • Develop elop • Usage ge • Compi mpile le • Failur ilures es • Conf nfigur igure/ e/Deplo eploy • User er feed edback ck • Create e Artif ifact ct » Automation • Suppor port ticket kets • Operabili ility › Deployments › Configuration Test › Testing Oper erat ate • Unit it • Feature ure • Conf nfigur iguration ion • Regres ession ion • Depl ployme oyment nt • Performa manc nce • Healt lth checks ecks • UAT » Fast feedback • Secur curit ity Release lease › Business • Artif ifact • Conf nfigur igure/ e/Deplo eploy › Development • Hosting ing 4

  7. What Do We Mean By “Quality” » Code » Processes » Product » Operability 5

  8. Pl Plan T an To o Fail ail 6

  9. Terms » CI › Continuous integration » CD › Continuous delivery or deployment » CT › Continuous testing 7

  10. Source Control » 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 8

  11. Static Code Analysis » Looks at the source code » Finds style, code quality, test coverage and security issues » A must for any enterprise level application 9

  12. Gates » Criteria that must be met before an automated process can continue » Helps assure quality » Types › Code › Build › Deploy › Quality 10 10

  13. Gated Check-in » Build that runs be befor ore merging changes into a shared branch » Can be part of branch policy » Should only run unit test » Time sensitive 11 11

  14. Triggers » Kicking off a process when an event happens » Event types › CI › Scheduled › Manual › Hybrid 12 12

  15. Build » 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 13 13

  16. Unit Test » Black box testing » Lives with the application code » Typically done by development 14 14

  17. Package » Taking the results of a build and packaging it to a redistributable form 15 15

  18. CI » 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 16 16

  19. Deployment » 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 17 17

  20. CD » 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 18 18

  21. Release Pipeline » Process by which changes get released to environments 19 19

  22. Configuration » 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 20 20

  23. CT » CT = Continuous Testing » An automated process which attempts to measure or assure the quality of an automated deployment » Runs as part t of of CD » Often used as a CD gating mechanism » Often, but not always, accomplished by leveraging ATDD and/or BDD practices 21 21

  24. CT - Performance » Verifies the application is responsive » Several different types are load, stress and response time tests. 22 22

  25. Monitoring » Proactively monitor product › Resources › Bottle necks › Synthetic transactions » Find problems earlier › Autoscaling › Blue-Green deployments » Learn › Analytics › User feedback 23 23

  26. What This Looks Like In Practice 24 24

  27. Questions 26 26

  28. 7.277.1044 / mage m // // 27 877.277.1044 genic.c .com 27 THANK YOU

Recommend


More recommend