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

使用az webapp deploy部署时如何仅清理目标指定文件夹?

仅清理Azure Web App部署目标文件夹的方法

当前az webapp deploy的--clean true参数会清理整个应用根目录,无法仅针对指定--target-path清理。要实现只清空目标文件夹再部署,可分两步操作:

方法一:通过SSH直接删除目标文件夹内容

利用Azure Web App的SSH功能,先执行文件删除命令,再进行部署:

  1. 清理目标文件夹:

    # Linux环境Web App
    az webapp ssh --resource-group $(ResourceGroup) --name $(AppName) --command "rm -rf /home/site/wwwroot/Document_Path/*"
    

    如果是Windows环境Web App,改用PowerShell命令:

    az webapp ssh --resource-group $(ResourceGroup) --name $(AppName) --command "Remove-Item -Path C:\home\site\wwwroot\Document_Path\* -Recurse -Force"
    
  2. 执行原部署命令:

    az webapp deploy 
       --resource-group $(ResourceGroup) 
       --name $(AppName) 
       --src-path $zip_artifact 
       --type zip 
       --target-path Document_Path
       --clean false
    

方法二:通过Kudu API清理目标文件夹

如果无法使用SSH,可借助Kudu的VFS API删除目标文件夹内容:

  1. 获取Web App发布凭据:

    creds=$(az webapp deployment list-publishing-profiles --resource-group $(ResourceGroup) --name $(AppName) --query "[0].{user:publishUsername, pass:publishPassword}" -o tsv)
    USER=$(echo $creds | cut -d' ' -f1)
    PASS=$(echo $creds | cut -d' ' -f2)
    
  2. 递归删除目标文件夹内所有内容:

    curl -X DELETE -u $USER:$PASS "https://$(AppName).scm.azurewebsites.net/api/vfs/site/wwwroot/Document_Path/?recursive=true"
    
  3. 执行原部署命令(同方法一中的部署命令)

注意事项

  • 确认目标文件夹路径正确:Web App的根目录对应/home/site/wwwroot(Linux)或C:\home\site\wwwroot(Windows),Document_Path是你指定的相对路径,需拼接成完整路径。
  • 执行删除命令前可先通过SSH或Kudu控制台查看文件夹内容,避免误删重要文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 22:39:57