Skip to content

Workflow file for this run

name: Build and deploy JAR app to Azure Container Instances - hilfling-backend
on:
push:
branches:
- feature/fg-137
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Azure CLI Login
uses: azure/login@v2
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Log in to Azure Container Registry
uses: azure/docker-login@v1
with:
login-server: ${{ secrets.ACR_LOGIN_SERVER }}
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build and push Docker image to ACR
run: |
docker build -t ${{ secrets.ACR_LOGIN_SERVER }}/hilfling-backend:${{ github.sha }} .
docker push ${{ secrets.ACR_LOGIN_SERVER }}/hilfling-backend:${{ github.sha }}
- name: Delete existing container instances
run: |
for i in 1 2 3; do
az container delete \
--name hilfling-backend${i} \
--resource-group hilfling-backend_group \
--yes || true
done
- name: Deploy new container instances
run: |
for i in 1 2 3; do
az container create \
--name hilfling-backend${i} \
--resource-group hilfling-backend_group \
--registry-username ${{ secrets.ACR_USERNAME }} \
--registry-password ${{ secrets.ACR_PASSWORD }} \
--image ${{ secrets.ACR_LOGIN_SERVER }}/hilfling-backend:${{ github.sha }} \
--cpu 1 --memory 2 \
--environment-variables DATABASE_USERNAME=${{ secrets.HILFLINGDB_USERNAME }} \
DATABASE_URL=${{ secrets.HILFLINGDB_URL_DEV }} \
DATABASE_PASSWORD=${{ secrets.HILFLINGDB_PASSWORD }} \
--ports 8000 \
--dns-name-label hilfling-backend${i}-dns \
--location norwayeast
done
- name: Delete Docker image from ACR
run: |
az acr repository delete \
--name ${{ secrets.ACR_LOGIN_SERVER }} \
--repository hilfling-backend \
--tag ${{ github.sha }} \
--yes