Add Azure deployment workflow for git

Signed-off-by: Martin Zatovic <m.zatovic1@gmail.com>
This commit is contained in:
Martin Zatovic 2024-05-24 01:35:05 +02:00
parent aa9b9e7f43
commit 6386ca5a5c

View file

@ -0,0 +1,62 @@
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy WAR app to Azure Web App - Petclinic-SpringApp
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Java version
uses: actions/setup-java@v1
with:
java-version: 'java 17'
- name: Build with Maven
run: mvn clean install
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v3
with:
name: java-app
path: '${{ github.workspace }}/target/*.war'
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
permissions:
id-token: write #This is required for requesting the JWT
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v3
with:
name: java-app
- name: Login to Azure
uses: azure/login@v1
with:
client-id: ${{ secrets.__clientidsecretname__ }}
tenant-id: ${{ secrets.__tenantidsecretname__ }}
subscription-id: ${{ secrets.__subscriptionidsecretname__ }}
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v2
with:
app-name: 'Petclinic-SpringApp'
slot-name: 'production'
package: '*.war'