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 }}
							 |