You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GitHub Action部署Azure WebApp时指定ASP.NET Core多项目的目标项目

多项目解决方案下通过GitHub Action部署指定ASP.NET Core项目到Azure

针对你的多项目解决方案场景,只需在GitHub Action的构建、发布步骤中明确指定要部署的前端项目文件路径,即可自动包含其依赖的类库(如Domain),同时跳过其他项目(如后台管理项目)。以下是具体实现步骤和示例:

1. 调整构建(Build)步骤

将原本针对整个解决方案的dotnet build命令,改为指向前端项目的.csproj文件,这样只会构建该项目及其依赖项:

- name: Build with dotnet
  run: dotnet build ./你的前端项目路径/FrontendProject.csproj --configuration Release

2. 调整发布(Publish)步骤

同样,发布阶段也要指定前端项目文件,确保只打包目标项目及其依赖:

- name: Publish with dotnet
  run: dotnet publish ./你的前端项目路径/FrontendProject.csproj --configuration Release --output ${{ env.DOTNET_ROOT }}/publish-output

3. 配置Azure部署步骤

使用azure/webapps-deploy动作时,指定发布输出的目录或zip包即可:

- name: Deploy to Azure Web App
  uses: azure/webapps-deploy@v2
  with:
    app-name: '你的Azure WebApp名称'
    publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
    package: ${{ env.DOTNET_ROOT }}/publish-output

完整的GitHub Action示例

name: Deploy Frontend to Azure

on:
  push:
    branches: [ main ]

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: '6.0.x'

      - name: Restore dependencies
        run: dotnet restore ./你的前端项目路径/FrontendProject.csproj

      - name: Build
        run: dotnet build ./你的前端项目路径/FrontendProject.csproj --configuration Release --no-restore

      - name: Publish
        run: dotnet publish ./你的前端项目路径/FrontendProject.csproj --configuration Release --no-build --output ${{ env.DOTNET_ROOT }}/publish-output

      - name: Deploy to Azure Web App
        uses: azure/webapps-deploy@v2
        with:
          app-name: '你的WebApp名称'
          publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
          package: ${{ env.DOTNET_ROOT }}/publish-output

关键说明

  • 替换示例中的你的前端项目路径/FrontendProject.csproj为实际项目相对路径(比如src/Frontend/Frontend.csproj)
  • 依赖的Domain类库会被自动包含在发布包中,无需额外配置
  • 后台管理项目因未被指定构建/发布,不会被部署到Azure

内容的提问来源于stack exchange,提问作者SandroRiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:55:23