Skip to content
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy container app to Azure Web App - HarmonyHarbor
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to registry
uses: docker/login-action@v2
with:
registry: https://706registry.azurecr.io/
username: ${{ secrets.AzureAppService_ContainerUsername_9be46abaa20344908e13ba6bbe4d7065 }}
password: ${{ secrets.AzureAppService_ContainerPassword_aac379ebce6247ab9f1ca5883053939f }}
- name: Build and push container image to registry
uses: docker/build-push-action@v3
with:
push: true
tags: 706registry.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_9be46abaa20344908e13ba6bbe4d7065 }}/hh/latest:${{ github.sha }}
file: ./Dockerfile
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v2
with:
app-name: 'HarmonyHarbor'
slot-name: 'production'
publish-profile: ${{ secrets.AzureAppService_PublishProfile_2b4e9a8ea51c405597b844d94a2e1618 }}
images: '706registry.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_9be46abaa20344908e13ba6bbe4d7065 }}/hh/latest:${{ github.sha }}'
- name: Wait for 5 minutes
run: sleep 300
- name: Run Locust test
run: make load_test
- name: Upload Locust Results
uses: actions/upload-artifact@v2
with:
name: locust_results
path: load_test/locust_results