Build. Deploy. Pray. Test.

CI+CD workshop

Agenda

  • Key concepts

  • High-level CI+CD flow

  • CI hands-on

  • CD hands-on

Continuous integration Integration

  • Software systems

  • Systems tend to be complex

  • Bringing all components together

  • It's hard, takes time

Continuous integration

  • Integrate work frequently

  • Advocated by Extreme programming

  • Set of software development practices

  • Martin Fowler's article on CI

CI: Single source repo

  • Keeping track of files is a pain

  • Everything needed should be in there.

  • Everything you need to get started

  • The TRUTH

CI: Automated build

  • Keep manual steps to a minimumĀ 

  • Build tools galore

CI: Self-testing

  • Check all the things

  • Testing tools galore

  • Can include integration testing

CI: Integration machine

  • Your relentless colleague

  • Gathers all of the above

  • Picks up each change and runs the checks

CI: The softer things

  • Fix broken builds immediately

  • Keep the process fast

CI: Transparency

  • Easily see what's going on

  • Easily get the artifacts

CI: Concepts wrap-up

  • Single code repo

  • Automated build

  • Self-testing

  • Integration machine

  • Transparency

High-level flow

Postman

  • Manual API testing

  • Variables and parameterised requests

  • Test cases

  • Test collections

Newman

  • Command line executor for Postman collections

  • Built on node.js and available on NPM

  • Maintains feature parity with Postman

Daman

  • Check all the things

  • Testing tools galore

  • Can include integration testing

References

  1. https://ronjeffries.com/xprog/what-is-extreme-programming/#continuous

  2. https://martinfowler.com/articles/continuousIntegration.html

Build.Deploy.~Pray~.Test.

By andreimoustache

Build.Deploy.~Pray~.Test.

  • 35