From 3f43aa05de86a10f96869548c9af7f7d285afe49 Mon Sep 17 00:00:00 2001 From: siimav Date: Sat, 21 Sep 2024 22:18:23 +0300 Subject: [PATCH] Add GH Actions CI --- .../asp.net-core-webapp-on-azure.yml | 57 +++++++++++++++++++ RP1AnalyticsWebApp.sln | 6 +- RP1AnalyticsWebApp/Startup.cs | 1 + RP1AnalyticsWebApp/vite.config.ts | 2 +- 4 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/asp.net-core-webapp-on-azure.yml diff --git a/.github/workflows/asp.net-core-webapp-on-azure.yml b/.github/workflows/asp.net-core-webapp-on-azure.yml new file mode 100644 index 0000000..1d74ec5 --- /dev/null +++ b/.github/workflows/asp.net-core-webapp-on-azure.yml @@ -0,0 +1,57 @@ +name: Deploy ASP.NET Core app to Azure Web App + +on: + push: + branches: + - test + pull_request: + branches: + - '*' +# CONFIGURATION +# For help, go to https://github.com/Azure/Actions +# +# 1. Set up the following secrets in your repository: +# AZURE_WEBAPP_PUBLISH_PROFILE +# +# 2. Change these variables for your configuration: +env: + AZURE_WEBAPP_NAME: RP1CareerLog # set this to your application's name + AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root + DOTNET_VERSION: '6.0.x' # set this to the dot net version to use + NODE_VERSION: '20.x' # set this to the node version to use + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + environment: dev + steps: + + # Checkout the repo + - uses: actions/checkout@v4 + + # Setup .NET Core SDK + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Set up Node.js version + uses: actions/setup-node@v3 + with: + node-version: ${{ env.NODE_VERSION }} + + # Run dotnet build and publish + - name: dotnet build and publish + run: | + dotnet restore + dotnet build --configuration Release + dotnet publish -c Release -o '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/myapp' + + # Deploy to Azure Web apps + - name: 'Run Azure webapp deploy action using publish profile credentials' + uses: azure/webapps-deploy@v2 + with: + app-name: ${{ env.AZURE_WEBAPP_NAME }} # Replace with your app name + slot-name: 'test' + publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} # Define secret variable in repository settings as per action documentation + package: '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/myapp' diff --git a/RP1AnalyticsWebApp.sln b/RP1AnalyticsWebApp.sln index b0bca92..96e4872 100644 --- a/RP1AnalyticsWebApp.sln +++ b/RP1AnalyticsWebApp.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29728.190 +# Visual Studio Version 17 +VisualStudioVersion = 17.7.34221.43 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RP1AnalyticsWebApp", "RP1AnalyticsWebApp\RP1AnalyticsWebApp.csproj", "{05A4ABFE-19A0-4C2F-B8DA-D2FF352C0FA0}" EndProject @@ -18,9 +18,7 @@ Global {05A4ABFE-19A0-4C2F-B8DA-D2FF352C0FA0}.Release|Any CPU.ActiveCfg = Release|Any CPU {05A4ABFE-19A0-4C2F-B8DA-D2FF352C0FA0}.Release|Any CPU.Build.0 = Release|Any CPU {0765EEF9-9D48-4263-871C-65CC65FC9C03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0765EEF9-9D48-4263-871C-65CC65FC9C03}.Debug|Any CPU.Build.0 = Debug|Any CPU {0765EEF9-9D48-4263-871C-65CC65FC9C03}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0765EEF9-9D48-4263-871C-65CC65FC9C03}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/RP1AnalyticsWebApp/Startup.cs b/RP1AnalyticsWebApp/Startup.cs index 4b0944c..d21e9f4 100644 --- a/RP1AnalyticsWebApp/Startup.cs +++ b/RP1AnalyticsWebApp/Startup.cs @@ -121,6 +121,7 @@ public void ConfigureServices(IServiceCollection services) services.AddViteServices(options => { + options.Manifest = "vite-manifest.json"; options.Server.Https = true; options.Server.AutoRun = true; }); diff --git a/RP1AnalyticsWebApp/vite.config.ts b/RP1AnalyticsWebApp/vite.config.ts index 762c3fb..2140131 100644 --- a/RP1AnalyticsWebApp/vite.config.ts +++ b/RP1AnalyticsWebApp/vite.config.ts @@ -60,7 +60,7 @@ export default defineConfig(async () => { }, }, build: { - manifest: true, + manifest: 'vite-manifest.json', emptyOutDir: true, outDir: '../wwwroot', assetsDir: '',