Devops部署到D1 Shared Infrastructure应用程序的部署将被忽略

时间:2020-02-16 21:12:30

标签: azure-devops azure-web-app-service

我有一个PHP Azure Web应用程序,并且正在使用Dev Ops版本进行部署。如果是D1共享基础结构应用程序服务计划。

我已经完成了构建和发行,看起来工作正常,并且一切看起来都很成功。但是旧站点仍然存在,如果我查看Web应用程序上的文件,则它们的日期都为先前版本的日期。好像发行从未发生过,并且消失在空白中。我已经多次重新启动了站点,但无济于事。我已经将相同的构建部署到其他Web应用程序,并且工作正常。所有应用程序设置看上去都与可以运行的网站相同。

我很想尝试至少暂时将其扩展到S1。尚未尝试过,但是还有另一种方法吗?

1 个答案:

答案 0 :(得分:2)

首先,请确保已将应用程序确实部署到D1,只需启用变量system.debug(将值设置为true),然后触发新版本以捕获并检查完整日志

通常,它将更新更改的文件到站点。但是,您也可以尝试在部署之前删除所有目标文件。只需尝试以下操作:

  • 如果您使用Azure App Service Deploy task进行部署,则 您可以为Remove Additional Files at Destination启用其他选项。 enter image description here

  • 此外,您还可以尝试扩展Azure WebApp Virtual File System Tasks,它可以通过以下方式从Azure Web Apps中删除文件: KUDU虚拟文件系统Rest API(即将推出)

  • 如果仍然无法执行,则可以编写脚本来删除 特定的文件夹。但是您需要确保该服务帐户 拥有访问和删除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