Deploying Terraform in Azure using GitHub Actions Step by Step

Guillermo Musumeci
9 min readOct 26, 2022

GitHub Actions is a CI/CD (continuous integration and continuous delivery) platform that allows us to automate our build, test, and deployment pipeline right in our repository.

In this story, we will learn how to set up GitHub Actions to deploy Terraform code in Azure.

1. Prerequisites

This is the list of prerequisites required to create a DevOps pipeline:

  • Azure Subscription: If you don’t have an Azure subscription, create a free account at before you start.
  • Azure Service Principal (SPN): is an identity used to authenticate to Azure. See below (Point #2) for instructions to create one.
  • Azure Remote Backend for Terraform: we will store our Terraform state file in a remote backend location. We will need a Resource Group, Azure Storage Account, and a Container. Check Point #3 to learn how to create the storage account for Terraform state.
  • GitHub Account and GitHub Repository: we need a GitHub Account to create the GitHub Repository and GitHub Actions.

2. Prerequisite: Creating an Azure Service Principal



Guillermo Musumeci

Certified AWS, Azure & GCP Architect | HashiCorp Ambassador | Terraform SME | KopiCloud Founder | ex-AWS | Entrepreneur | Book Author | Husband & Dad of ✌