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

GitHub Actions部署Azure Web App因存储限制失败求助

解决方案

1. 启用「从包运行」模式

F1 tier的临时存储配额远小于持久存储,GitHub Actions默认的解压式部署会占用临时空间,而VS部署可能自动启用了从包运行。开启后App Service直接从ZIP包运行,无需解压,彻底解决临时空间不足问题:

  • 在GitHub Actions工作流的部署步骤中,添加应用设置配置:
    - name: Deploy to Azure Web App
      uses: azure/webapps-deploy@v2
      with:
        app-name: '<你的Web App名称>'
        slot-name: 'production'
        package: ${{ steps.build.outputs.webapp_package }}
        app-settings: |
          WEBSITE_RUN_FROM_PACKAGE=1
    
  • 或者提前在Azure门户的Web App「配置-应用程序设置」中手动添加WEBSITE_RUN_FROM_PACKAGE=1。

2. 工作流中添加预部署清理步骤

在部署前自动清理Kudu的旧临时部署文件,避免堆积占用空间:

- name: Clean up old deployment temp files
  uses: azure/cli@v1
  with:
    inlineScript: |
      az webapp deploy --name <你的Web App名称> --resource-group <你的资源组名称> --clean true --type zip --src-path /dev/null

这个命令会触发Kudu清理旧部署的临时文件,不影响当前应用运行。

3. 强制部署时清理目标目录

如果不需要保留Web App中的非部署文件,可以在部署步骤中开启清理选项:

- name: Deploy to Azure Web App
  uses: azure/webapps-deploy@v2
  with:
    app-name: '<你的Web App名称>'
    slot-name: 'production'
    package: ${{ steps.build.outputs.webapp_package }}
    clean: true # 清理目标目录中的旧文件

4. 检查临时存储占用

F1 tier的临时存储(Linux为/home/temp,Windows为D:\local)是独立配额,可在工作流中添加步骤查看:

- name: Check temp disk space
  uses: azure/webapp-ssh@v1
  with:
    app-name: '<你的Web App名称>'
    command: df -h /home/temp # Linux环境;Windows用dir D:\local

确认是否是临时存储耗尽而非持久存储问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:12:21