diff --git a/.github/workflows/main_azurlshortenerpfm.yml b/.github/workflows/main_azurlshortenerpfm.yml new file mode 100644 index 00000000..7cbda144 --- /dev/null +++ b/.github/workflows/main_azurlshortenerpfm.yml @@ -0,0 +1,53 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy dotnet core project to Azure Function App - AzUrlShortenerPFM + +on: + push: + branches: + - main + workflow_dispatch: + +env: + AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root + DOTNET_VERSION: '8.0.x' # set this to the dotnet version to use + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + permissions: + id-token: write #This is required for requesting the JWT + contents: read #This is required for actions/checkout + + steps: + - name: 'Checkout GitHub Action' + uses: actions/checkout@v4 + + - name: Setup DotNet ${{ env.DOTNET_VERSION }} Environment + uses: actions/setup-dotnet@v1 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: 'Resolve Project Dependencies Using Dotnet' + shell: bash + run: | + pushd './${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}' + dotnet build --configuration Release --output ./output + popd + + - name: Login to Azure + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_2980B88589C848CD8A86C2E961ABC5AB }} + tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_C752216CD5F24EF0B7F6793B0EB6F136 }} + subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_8EB7F975FE8248D3AE85C58CB4D62A26 }} + + - name: 'Run Azure Functions Action' + uses: Azure/functions-action@v1 + id: fa + with: + app-name: 'AzUrlShortenerPFM' + slot-name: 'Production' + package: '${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}/output' + \ No newline at end of file