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

使用GitHub Actions部署多项目到Azure后遇403及文件缺失问题

问题排查与修复步骤

1. 补全构建阶段的产物上传步骤

你当前的构建流程仅执行了编译和发布操作,但未将发布后的产物上传为GitHub Artifact,导致部署阶段下载的.net-app artifact为空,最终部署到Azure的内容自然是空目录。

需在dotnet publish步骤后添加上传artifact的配置:

- name: Upload artifact for deployment job
  uses: actions/upload-artifact@v2
  with:
    name: .net-app
    path: ${{env.DOTNET_ROOT}}/myapp

2. 确保.NET环境变量有效

如果构建阶段未配置.NET环境,${{env.DOTNET_ROOT}}变量可能未被正确定义,导致dotnet publish的输出路径无效。建议在构建阶段开头添加环境初始化步骤:

- name: Setup .NET SDK
  uses: actions/setup-dotnet@v3
  with:
    dotnet-version: '6.0.x' # 替换为你的项目实际使用的.NET版本

3. 修正项目路径占位符

将{project folder}/project_name.csproj替换为仓库中项目文件的实际相对路径(例如src/MyWebApp/MyWebApp.csproj),否则dotnet publish可能找不到目标项目,或发布错误内容。

4. 调整部署阶段的包路径

actions/download-artifact@v2默认会将artifact内容下载到当前工作目录下的.net-app文件夹中,因此需修改部署步骤的package参数:

- name: Deploy to Azure Web App
  id: deploy-to-webapp
  uses: azure/webapps-deploy@v2
  with:
    app-name: 'myappname'
    slot-name: 'dev'
    publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_****** }}
    package: ./.net-app

5. 验证发布产物(可选)

可在构建阶段添加步骤,确认发布目录的内容是否正确生成:

- name: Check published files
  run: dir ${{env.DOTNET_ROOT}}/myapp
  shell: pwsh

完成以上修改后重新触发GitHub Actions,即可正确将发布产物部署到Azure Web App,解决wwwroot为空和403错误问题。

内容的提问来源于stack exchange,提问作者von v.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 08:35:33