Skip to content

Lab1 about IaC Terraform CLI #9

Lab1 about IaC Terraform CLI

Lab1 about IaC Terraform CLI #9

# https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/service_principal_client_secret
name: Lab1 about IaC Terraform CLI
# Controls when the workflow will run
on: workflow_dispatch
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
terraform-cli-commands:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- name: Login to Azure
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
# Runs a single command using the runners shell
- name: Install Terraform
run: |
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
# Runs a set of commands using the runners shell
- name: Terreform Init
run: |
cd terraform/lab0
terraform init
- name: Terreform Plan
run: |
terraform -chdir=terraform/lab0 plan
env:
ARM_CLIENT_ID: ${{ secrets.CLIENTID }}
ARM_CLIENT_SECRET: ${{ secrets.CLIENTSECRET }}
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION }}
ARM_TENANT_ID: ${{ secrets.TENANTID }}
- name: Terreform Apply
run: |
terraform -chdir=terraform/lab0 apply -auto-approve
env:
ARM_CLIENT_ID: ${{ secrets.CLIENTID }}
ARM_CLIENT_SECRET: ${{ secrets.CLIENTSECRET }}
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION }}
ARM_TENANT_ID: ${{ secrets.TENANTID }}