Build and deploy .NET Core app to Linux WebApp pc2online #66
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and deploy .NET Core app to Linux WebApp pc2online | |
on: | |
workflow_dispatch: | |
env: | |
AZURE_WEBAPP_NAME: pc2online | |
AZURE_WEBAPP_PACKAGE_PATH: PC2/publish | |
AZURE_WEBAPP_PUBLISH_PROFILE: ${{ secrets.pc2online_7d76 }} | |
CONFIGURATION: Release | |
DOTNET_CORE_VERSION: 8.0.x | |
WORKING_DIRECTORY: PC2 | |
DB_CONNECTION_STRING: ${{ secrets.DatabaseConnectionString }} | |
jobs: | |
build-and-deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET Core | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: ${{ env.DOTNET_CORE_VERSION }} | |
- name: Restore | |
run: dotnet restore "${{ env.WORKING_DIRECTORY }}" | |
- name: Build | |
run: dotnet build "${{ env.WORKING_DIRECTORY }}" --configuration ${{ env.CONFIGURATION }} --no-restore | |
- name: Test | |
run: dotnet test "${{ env.WORKING_DIRECTORY }}" --no-build | |
- name: Publish | |
run: dotnet publish "${{ env.WORKING_DIRECTORY }}" --configuration ${{ env.CONFIGURATION }} --no-build --output "${{ env.AZURE_WEBAPP_PACKAGE_PATH }}" | |
- name: Deploy to Azure WebApp | |
uses: azure/webapps-deploy@v2 | |
with: | |
app-name: ${{ env.AZURE_WEBAPP_NAME }} | |
package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }} | |
publish-profile: ${{ env.AZURE_WEBAPP_PUBLISH_PROFILE }} | |
- name: Run Code First Migrations | |
run: | | |
dotnet new tool-manifest | |
dotnet tool install --global dotnet-ef | |
dotnet tool restore | |
dotnet ef database update -p PC2 --connection "${{ env.DB_CONNECTION_STRING }}" | |
- name: Publish Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: webapp | |
path: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }} |