Module 5: Build, Test, & Deploy (outer loop)

Overview

Now that the development inner-loop is complete, the code now running in the Developer’s isolated/sandboxed feature-branch namespace, is ready to be deployed to Dev, Staging and Production environments.

  • Platform Engineers create production-level pipelines to handle merge requests from the Developer. Tekton makes is really easy to build cloud-native pipelines based org needs.

  • When a Developer issues a merge request from the feature branch to main, there should be a peer review process post which the changes can be merged to main.

  • Post-merge, the pipeline updates manifests in Dev and Stage env; additionally, this raises a PR to Production manifest.

  • Manifest updates to Prod environment is only based on appropriate approvals and in this case based on manual merging of a PR raised by the post-merge pipeline

Module objectives

  • To handle the outer-loop, Platform Engineer has built a production-level pipelines (pre and post merge) based org needs via Tekton

  • Developer creates a new merge-request, and the pre-merge pipeline is triggered via Gitlab webhook, and the image is built

  • An application owner/team member reviews and accepts the merge-request.

  • This kicks off a post-merge pipeline which updates manifests in Dev and Stage env

  • This also issues a merge-request to deploy to the Production Environment.

  • Once this prod merge-request is accepted, the application is deployed to production through GitOps/ArgoCD