From 2b9d4ce4e1734836da32a8d5c98c31293cb255d3 Mon Sep 17 00:00:00 2001 From: weroy <51435136+weroy@users.noreply.github.com> Date: Fri, 19 Feb 2021 11:17:05 +0800 Subject: [PATCH] Adding workflow file --- .github/workflows/deploytoContainerWebApp.yml | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/deploytoContainerWebApp.yml diff --git a/.github/workflows/deploytoContainerWebApp.yml b/.github/workflows/deploytoContainerWebApp.yml new file mode 100644 index 00000000..3ae95056 --- /dev/null +++ b/.github/workflows/deploytoContainerWebApp.yml @@ -0,0 +1,61 @@ +on: [push] + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: 'Checkout Github Action' + uses: actions/checkout@master + + - name: 'Login via Azure CLI' + uses: azure/login@v1 + with: + creds: ${{ secrets.AZURE_CREDENTIALS }} + + - name: Create ACR + id: create-acr + run: | + az acr create -n royvault -g roy_vault --location "West US 2" --sku Basic --admin-enabled + echo "::set-output name=acr_username::`az acr credential show -n royvault --query username | xargs`" + echo "::set-output name=acr_password::`az acr credential show -n royvault --query passwords[0].value | xargs`" + echo "::add-mask::`az acr credential show -n royvault --query passwords[0].value | xargs`" + + - uses: azure/docker-login@v1 + with: + login-server: royvault.azurecr.io + username: ${{ steps.create-acr.outputs.acr_username }} + password: ${{ steps.create-acr.outputs.acr_password }} + + - name: Build and push image to ACR + id: build-image + run: | + docker build "$GITHUB_WORKSPACE/" -f "Dockerfile" -t royvault.azurecr.io/royvault-img:${{ github.sha }} + docker push royvault.azurecr.io/royvault-img:${{ github.sha }} + + - name: Set Web App ACR authentication + uses: Azure/appservice-settings@v1 + with: + app-name: roy-vault + app-settings-json: | + [ + { + "name": "DOCKER_REGISTRY_SERVER_URL", + "value": "royvault.azurecr.io", + "slotSetting": false + }, + { + "name": "DOCKER_REGISTRY_SERVER_USERNAME", + "value": "${{ steps.create-acr.outputs.acr_username }}", + "slotSetting": false + }, + { + "name": "DOCKER_REGISTRY_SERVER_PASSWORD", + "value": "${{ steps.create-acr.outputs.acr_password }}", + "slotSetting": false + } + ] + + - uses: azure/webapps-deploy@v2 + with: + app-name: roy-vault + images: royvault.azurecr.io/royvault-img:${{ github.sha }} \ No newline at end of file