代码之家  ›  专栏  ›  技术社区  ›  user3587624

如何在VSTS部署期间从Azure Web App中删除文件

  •  0
  • user3587624  · 技术社区  · 8 年前

    我有一个Azure Web应用程序,在其中我将一些数据存储在它的持久存储中。通过我的VSTS发布定义,我想删除一个填充了数据的文件夹。文件夹位于 D:\主页\网站\我的文件夹 .

    有没有一种方法可以在部署期间从VSTS版本定义中以编程方式删除文件夹?我需要确保每次新部署发生时文件夹都是空的,目前我是通过kuduwebui手动完成的。

    1 回复  |  直到 8 年前
        1
  •  7
  •   Andy Li-MSFT    8 年前

    根据您的描述,您似乎希望在新部署之前清空目标文件夹。

    Azure应用服务部署 任务, 您正在使用 选项,还有一个附加选项 .

    换句话说,它将删除以前部署中不再需要的任何遗留文件。

    参考 Removing Deleted Files during Visual Studio Team Services Azure App Service Deploy Task 详情。

    enter image description here

    Azure WebApp Virtual File System Tasks ,它可以通过KUDU虚拟文件系统restapi(Put&很快就来)

    如果仍然不起作用,那么您可以编写一个脚本来删除特定的文件夹。但您需要确保服务帐户具有访问和删除Azure上文件夹的正确权限。

    或者,您可以删除具有特定凭据的项目,例如下面的脚本:

    Param(
      [string]$computerName = "computername",
      [string]$path ="E:\test\specific-folder"
    )
    $Username = "domain\user"
    $Password = ConvertTo-SecureString "PasswordHere" -AsPlainText -Force
    
    $cred = New-Object System.Management.Automation.PSCredential($Username,$password)
    
    Invoke-Command -computername $computerName {Remove-Item -path $args[0] -Recurse} -cred $cred  -ArgumentList $path
    
    推荐文章