1 minute read

Microsoft commissioned me to write a three-part series to demonstrate how to construct a complete end-to-end GitOps workflow using Terraform plans, GitHub, GitHub Actions, and Azure.

All three were published on Code Project and can be read through the links below:

  • Introduction to GitOps. This article takes a look at GitOps — its origins, what it actually is, and how it relates to the term IaC and the pipeline concepts of CI and CD.
  • GitOps with Terraform and GitHub. In this article, you will see a hands-on tutorial that shows how to take a simple Terraform plan that deploys some simple Azure infrastructure (such as VMs), and commits the code to a GitHub repository. Then, you will learn how to make changes to the code in a fork or branch, commit the changes, and do code review on the changes using a pull request.
  • GitOps Provisioning with GitHub Actions. This article gives you hands-on experience in constructing a CI/CD pipeline that provisions changes that have been merged into a Terraform plan via a pull request. You will also see how to use automated checks to support the code review process in ‘gating’ deployments, and review the end-to-end process for making changes and seeing those changes in the live Azure resources.