如何将Azure Web App关联至Git仓库中指定的Api项目文件夹?
解决Azure Web App部署子目录Api项目的问题
方法1:修改GitHub Actions工作流
构建完成后,让部署步骤指向Api项目的发布输出即可。使用Azure官方的azure/webapps-deploy动作时,直接在部署步骤里指定package参数:
- name: 部署到Azure Web App uses: azure/webapps-deploy@v2 with: app-name: '你的Web App名称' slot-name: 'Production' package: './Api/bin/Release/net6.0/publish' # 按你的.NET版本调整路径 publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
如果担心路径出错,也可以单独添加一步发布Api项目的操作:
- name: 构建解决方案 run: dotnet build --configuration Release - name: 发布Api项目 run: dotnet publish Api/Api.csproj --configuration Release --output ./Api/publish
之后部署时把package参数设为./Api/publish即可。
方法2:设置Web App启动命令
如果部署后Web App找不到入口程序,直接去Azure门户的Web App配置里修改启动命令:
- 进入「配置」>「常规设置」>「启动命令」,输入
dotnet ./Api/Api.dll(根据你的项目名称和实际输出路径调整)
方法3:调整路径映射
在Web App的「配置」>「路径映射」中,添加虚拟目录映射,把根路径(/)映射到site\wwwroot\Api。需要注意的是,前提要确保部署时把Api的发布文件放到wwwroot下的Api子目录里,配合工作流的路径调整一起生效。
额外注意事项:
- 检查工作流里的发布路径是否正确,确认部署动作确实把Api的输出文件传到了Web App上。
- 查看Web App的日志,如果启动时有找不到dll或者路径错误的提示,可以快速定位问题。
内容的提问来源于stack exchange,提问作者Musaffar Patel
相关产品推荐
相关产品推荐

