Azure App Service缺失deployments目录致DevOps部署失败求助
Azure DevOps部署Web App失败:找不到deployments目录的问题解答
1. 为什么环境中缺失deployments文件夹?
- 部署方式差异:如果你的Web App是Linux环境,或使用了Zip Deploy、Run From Package这类轻量部署方式,Azure不会自动生成
deployments目录——这个目录主要是Web Deploy(MSDeploy)模式下用来存储部署历史和临时文件的。 - 首次部署未完成:如果首次部署就失败,系统可能还没来得及创建该目录记录部署信息。
- 路径查找错误:Windows环境下默认路径是
D:\home\site\deployments,Linux环境下若用Web Deploy模式,路径是/home/site/deployments,可能是你找错了位置。
2. 若该目录对部署必需,能否恢复或重新创建?
- 如果是Web Deploy模式需要该目录:
- 手动通过Kudu控制台创建:Windows环境执行
mkdir D:\home\site\deployments,Linux环境执行mkdir /home/site/deployments。 - 重新触发一次完整的Web Deploy部署,系统会自动检查并创建缺失的必要目录。
- 手动通过Kudu控制台创建:Windows环境执行
- 如果是其他部署模式(如Zip Deploy):该目录并非必需,无需纠结,直接排查部署失败的其他原因即可。
3. 此问题是否与用户权限相关?如何验证调整?
- 大概率和权限无关:Kudu控制台使用App Service的系统身份,默认拥有站点目录的读写权限。
- 验证权限的方法:
- Windows环境:在Kudu命令行执行
dir D:\home\site /q,查看目录所有者是否为IIS APPPOOL\{你的App Service名称}。 - Linux环境:执行
ls -l /home/site,查看目录权限是否包含rwx(读写执行)。
- Windows环境:在Kudu命令行执行
- 调整权限:若确实存在权限问题,可通过Azure门户进入App Service的配置 > 常规设置重启服务重置权限;或用Azure CLI执行
az webapp restart --name <app-name> --resource-group <rg-name>。
内容的提问来源于stack exchange,提问作者Penguen
相关产品推荐
相关产品推荐

