Skip to content

Azure CI

Azure CI #39

Workflow file for this run

name: Azure CI
on:
push:
branches: [ main ]
workflow_dispatch:
# Set environment variables for terraform
env:
ARM_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
ARM_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
TF_VAR_acr_name: ${{ secrets.ACR_NAME }}
TF_VAR_client_id: ${{ secrets.AZURE_CLIENT_ID }}
TF_VAR_client_secret: ${{ secrets.AZURE_CLIENT_SECRET }}
TF_VAR_rapid_api_key: ${{ secrets.RAPID_API_KEY }}
# Jobs to run
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: 1.7.4
- name: Login to Azure as Service Principal
uses: azure/login@v2
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Login to ACR
run: az acr login -n ${{ secrets.ACR_NAME }}
- name: Build Docker image
run: docker build -t dolpyn .
- name: Push Docker image
run: |
docker tag dolpyn:latest ${{ secrets.ACR_NAME }}.azurecr.io/dolpyn:latest
docker push ${{ secrets.ACR_NAME }}.azurecr.io/dolpyn:latest
- name: Terraform Init web_app
run: terraform init
working-directory: ./terraform/web_app
- name: Terraform Apply web_app
run: terraform apply -auto-approve
working-directory: ./terraform/web_app