Swap staging slot contents into production #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Swap staging slot contents into production | |
| on: | |
| workflow_dispatch: | |
| jobs: | |
| promote-to-production: | |
| name: Promote to production | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: Production | |
| url: 'https://${{ vars.AZURE_WEBAPP_NAME }}.azurewebsites.net/' | |
| steps: | |
| - name: Log into Azure CLI with service principal | |
| uses: azure/login@v2 | |
| with: | |
| creds: ${{ secrets.AZURE_CREDENTIALS }} | |
| - name: Change NetCoreToolService link to prod and restart | |
| shell: bash | |
| run: | | |
| az webapp config appsettings set --resource-group steeltoe --name initializr-service --slot Staging --settings InitializrService__NetCoreToolService__Uri=https://netcoretoolservice.azurewebsites.net/api | |
| az webapp restart --resource-group steeltoe --name initializr-service --slot Staging | |
| echo "Waiting 60 seconds until beginning to curl to see if the site is back up" | |
| sleep 60 | |
| until $(curl --output /dev/null --silent --head --fail https://initializr-service-staging.azurewebsites.net/actuator/info); do | |
| printf '.' | |
| sleep 5 | |
| done | |
| - name: Swap slots | |
| run: az webapp deployment slot swap -s ${{ vars.STAGING_SLOT_NAME }} -n ${{ vars.AZURE_WEBAPP_NAME }} -g ${{ vars.AZURE_RESOURCE_GROUP }} | |
| - name: Change NetCoreToolService link to staging and restart | |
| run: | | |
| az webapp config appsettings set --resource-group steeltoe --name initializr-service --slot Staging --settings InitializrService__NetCoreToolService__Uri=https://netcoretoolservice-staging.azurewebsites.net/api | |
| az webapp restart --resource-group steeltoe --name initializr-service --slot Staging |