如果部分 Kudu 部署到 Azure 失败会怎样?

What happens if part of the Kudu deployment to Azure fails?

我们使用自定义 deploy.cmd 脚本在签入 git 时将 Kudu 部署到 Azure。此文件中部署了 4 projects/solutions 个。我修改了现有的默认脚本,以便为每个项目获取 Nuget,执行 msbuild,然后执行 kudusync。如果一些项目构建和同步成功,但其他项目没有,则会生成错误并且部署失败。此时网站处于什么状态?它会有一些修复但没有其他修复,还是一切都恢复了?如果不是后者,那么是否有可能以全有或全无的方式来完成整个事情?

非常感谢。

无法进行真正的原子部署。所以你的构建脚本会做任何它做的事,这就是你将要进入的状态。

但是,您可以选择以一种避免问题的方式编写脚本,方法是首先执行所有构建,直到最后才执行 kudusync。只要您不 运行 kudusync,您的 wwwroot 就不会受到影响(除非您特意在 kudusync 之外修改它)。