# 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 ASP.Net Core app to Azure Web App - ApiColombia on: push: branches: - main workflow_dispatch: jobs: build: name: Build and Test runs-on: ubuntu-latest defaults: run: working-directory: api steps: - uses: actions/checkout@v2 - name: Set up .NET Core uses: actions/setup-dotnet@v1 with: dotnet-version: '8.0.x' include-prerelease: true - name: Build with dotnet run: dotnet build --configuration Release - name: Test with dotnet run: dotnet test --no-build --configuration Release --logger "trx;LogFileName=testresults.trx" working-directory: ./api.Tests - name: Publish test results uses: actions/upload-artifact@v4 if: always() with: name: test-results path: '**/*.trx' - name: dotnet publish run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 with: name: .net-app path: ${{env.DOTNET_ROOT}}/myapp deploy: runs-on: ubuntu-latest needs: build environment: name: 'Production' url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} steps: - name: Download artifact from build job uses: actions/download-artifact@v4 with: name: .net-app - name: Deploy to Azure Web App id: deploy-to-webapp uses: azure/webapps-deploy@v2 with: app-name: 'ApiColombia' slot-name: 'Production' publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_7961A09BD866466E9B44C312F39A1586 }} package: .