CI/CD Demo

This demo is intended for advanced audiences. If they aren’t already familiar with git, CI/CD, or IaC concepts they will likely just be confused.

The CI/CD demo consists of:

  1. Customer or internal entity initiates a change/feature request.
  2. A developer pushes change to the git repository
  3. CI starts running, first with a lint pipeline to run syntax checking (this is a unit test)
  4. After linting succeeds, the quality-test pipeline is launched from GitLab CI
  5. In turn, this launches the corresponding workflow job in Ansible Tower
  6. (GitLab CI then waits for Tower to finish)
  7. The “Dev” environment is provisioned with the recently added changes.

Takeaways

  1. Each change pushed (proposed) by developers is integrated into a “Dev” environment where it can be tested.
  2. Credentials are stored securely in Tower or another credential store ensuring no “manual” intervention or configuration drift with the Dev environment.
  3. Devs cannot directly access the Dev environment and can only make changes through git.
  4. Approvers are optional if human-in-the-loop is desired, otherwise the entire process can be automated
  5. CI/CD with OCP is much cleaner, but ansible allows legacy technology to participate, E.g. network equipment, edge gear, non-contained infra

Demo

Check out the video demonstration:

DEMO