This article describes how to get started with infrastructure as code in Azure, using ARM templates and AzOps GitHub Actions.
Note: Before you start, please make sure that you have read and understood the overall design objective and scope of the reference implementation.
The target audience for this guide DevOps / SRE role and assumes knowledge in Azure Resource Manager (ARM) / Infrastructure-as-Code (IaC), Git, and PowerShell.
This table lists the technical prerequisites needed to use the Enterprise-Scale reference implementation. We have chosen to base the reference implementation on PowerShell, but if desired, it is perfectly possible to use other tools such as e.g. Azure CLI for deployment operations.
The Git clone below and AzOps GitHub Action implementation requires that you enable long paths in Windows. To enable this, execute the following command from a terminal with elevated privileges:
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
You will also need to execute the following command line from an elevated terminal:
git config --system core.longpaths true
Restart your computer to ensure changes take effect.
Requirement | Additional info | |
---|---|---|
Git >= 2.1 | Latest version of git can be found here. Run following command from command prompt to ensure your Git is correctly configured. You may be prompted for login that may require you to sign in with MFA. git clone https://github.com/Azure/Enterprise-scale.git |
Git handbook |
VSCode | Latest version of VSCode. Open the directory Enterprise-scale cloned from previous step inside VSCode and run git pull command to ensure Git Credentials are setup correctly in VSCode. Exit VSCode and delete Enterprise-scale directory as it will no longer be required. |
Install |
Minimum version of PowerShell: 7.0 | The latest version of PowerShell including install instructions can be found here. Confirm the version of PowerShell that you are running by typing $PSVersionTable in a PowerShell session. |
Instructions |
Az.Accounts >= 1.8 Az.Resources >= 2.0.1 |
Install-Module -Name Az.<ModuleName> -MinimumVersion <Version> -Scope AllUsers Confirm the version of the module you have by running Get-Module Az.<ModuleName> -ListAvailable . |
Docs |
GitHub Cli [optional] | choco install gh |
Docs |
Pester >= 4.10.1 | Only required if you want to run pester-tests as a developer Install-Module -Name Pester -MinimumVersion 4.10.1 -Scope AllUsers You can confirm the version of the module you have by running Get-Module Pester -ListAvailable . |
Docs |
📱 If you have Multi-factor authentication (MFA) enabled on any of your accounts, make sure that you have your token app/phone easily accessible before you start.
Once you have the technical prerequisites in place, you can proceed to the next step, lets go back to Introduction to Enterprise-Scale "in-a-box" and deploy your Enterprise-scale Tenant.