From f42da4494002a5b1d91286381c5d67bef1fe88b7 Mon Sep 17 00:00:00 2001 From: Brett Hewitson Date: Thu, 19 May 2022 00:32:04 +1000 Subject: [PATCH] Added build files --- .github/workflows/msbuild.yml | 38 ++++++++++++++++++++++ .github/workflows/webapi.yml | 59 +++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 .github/workflows/msbuild.yml create mode 100644 .github/workflows/webapi.yml diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml new file mode 100644 index 00000000..4711f49d --- /dev/null +++ b/.github/workflows/msbuild.yml @@ -0,0 +1,38 @@ +name: Build Server Managers + +on: + push: + paths: + - 'src/**' + - '.github/workflows/msbuild.yml' + workflow_dispatch: + +env: + # Path to the solution file relative to the root of the project. + SOLUTION_FILE_PATH: ./src + + # Configuration type to build. + # You can convert this to a build matrix if you need coverage of multiple configuration types. + # https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + BUILD_CONFIGURATION: Release + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 + + - name: Restore NuGet packages + working-directory: ${{env.GITHUB_WORKSPACE}} + run: nuget restore ${{env.SOLUTION_FILE_PATH}} + + - name: Build + working-directory: ${{env.GITHUB_WORKSPACE}} + # Add additional options to the MSBuild command line here (like platform or verbosity level). + # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference + run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} + diff --git a/.github/workflows/webapi.yml b/.github/workflows/webapi.yml new file mode 100644 index 00000000..9bbdf573 --- /dev/null +++ b/.github/workflows/webapi.yml @@ -0,0 +1,59 @@ +# 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 + +on: + push: + paths: + - 'src/ServerManager.WebApplication/**' + - '.github/workflows/webapi.yml' + workflow_dispatch: + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: '5.0.x' + include-prerelease: true + + - name: Build with dotnet + run: dotnet build ./src/ServerManager.WebApplication/ServerManager.WebApplication.csproj --configuration Release + + - name: dotnet publish + run: dotnet publish ./src/ServerManager.WebApplication/ServerManager.WebApplication.csproj -c Release -o ${{env.DOTNET_ROOT}}/webapi + + - name: Upload artifact for deployment job + uses: actions/upload-artifact@v2 + with: + name: .net-app + path: ${{env.DOTNET_ROOT}}/webapi + + deploy: + if: contains(github.ref, 'source') + runs-on: windows-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@v2 + with: + name: .net-app + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@v2 + with: + app-name: 'servermanagers' + slot-name: 'Production' + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_79D9F7C17C684A9F9789102CFD05755B }} + package: .