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

GitHub Action部署Azure Web App时报ZIP Deploy失败如何解决?

问题根因与解决方案

根因说明

  1. 旧部署配置残留:原App Service使用旧CI/CD时,Kudu服务缓存了针对源码部署的部署脚本,该脚本会默认查找.csproj源码文件执行构建逻辑。但当前GitHub Action流水线已预先完成.NET项目的编译发布,部署包内仅包含二进制运行文件,不存在源码路径下的.csproj文件,因此触发路径不存在报错。
  2. 服务端构建逻辑未关闭:App Service默认开启SCM端自动构建配置,会对传入的部署包执行构建校验,与预先构建产物的部署流程冲突。
  3. 前期出现的CPU占满问题是Kudu反复执行无效构建逻辑、重试读取不存在路径导致的资源异常占用。

解决步骤

  • 清理Kudu缓存脚本
    进入Azure门户对应App Service的「高级工具(Kudu)」,选择「Debug console」-「PowerShell/CMD」,删除D:\home\site\deployments\tools路径下的全部缓存部署脚本。
  • 禁用服务端自动构建
    在App Service的「配置」-「应用程序设置」中新增如下参数,保存后重启应用:
    SCM_DO_BUILD_DURING_DEPLOYMENT = false
    
    该参数会关闭Kudu的自动构建逻辑,直接使用上传的编译产物完成部署。
  • (可选)优化流水线部署配置
    修改GitHub Action中deploy阶段的部署配置,明确指定部署包路径,避免路径匹配异常:
    - name: Deploy to Azure Web App
      id: deploy-to-webapp
      uses: azure/webapps-deploy@v2
      with:
        app-name: '***'
        slot-name: '***'
        publish-profile: ${{ secrets.AzureAppService_PublishProfile_*** }}
        package: ${{ github.workspace }}
    
  • 重新触发GitHub Action流水线执行部署即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 20:09:03