当使用custom deployment script进行Github到Azure连续部署时,如何让脚本在目的地删除其他文件的方式与通过Visual Studio发布时相同(下面的VS屏幕截图)。
如果它有帮助,更具体地说,我的脚本基于本教程 - https://github.com/aranasoft/todo-azurewebsites/wiki/Deploying-to-Azure。
我希望可以完成,并且只需要几行代码就可以添加到脚本中以智能地删除其他文件,或者可能是KuduSync cmd的配置选项。
答案 0 :(得分:1)
这样的事情可能会奏效。
将其放入档案f
:
diff -ReferenceObject (gci -Recurse $Env:DEPLOYMENT_SOURCE | % { $_.FullName.TrimStart($Env:DEPLOYMENT_SOURCE) }) `
-DifferenceObject (gci -Recurse $Env:DEPLOYMENT_TARGET | % { $_.FullName.TrimStart($Env:DEPLOYMENT_TARGET) }) |
? SideIndicator -eq "=>" |
% { Join-Path -Path $Env:DEPLOYMENT_TARGET $_.InputObject } |
% { write "Removing $_"; rm $_ }
}
并从您的Kudu部署脚本中调用它,例如powershell.exe -File f
如果您对bash
更加满意,它也可以在Web App主机上使用,您可以通过更改config
告诉Kudu执行bash脚本 - .deployment
中的部分,例如以command = bash deployment.sh
。