1 changed files with 61 additions and 0 deletions
			
			
		@ -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 }} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue