You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.1 KiB
61 lines
2.1 KiB
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 }}
|