CF 中的应用程序回滚可能性

Application Rollback possibilities in CF

我正在阅读有关回滚可能性的 CF 文档,发现了这些类型的回滚可能性。

  1. 应用回滚可能性using Revisions

  2. 回滚到 Previous Droplet

我的问题是:

  1. 我了解使用新 Droplet 部署的应用程序将创建一个新的 Revision。这就像 [=21] 之间的 1:1 关系=]droplet id 和 app revision(但是可以出于 droplet 更改以外的原因创建新的应用程序修订版)。这个理解对吗?
  2. 在哪些现实生活中我们应该使用 Droplet 回滚选项与应用程序修订回滚选项?
  3. 除了这 2 个选项之外,还有其他类型的回滚吗?
  1. I understand that an app deployed with a new droplet, will create a new Revision .This is like a 1:1 relationship between droplet id and app revision (however new app revisions could be created for reasons other than droplet change) . Is this understanding correct ?

是的。 API docs for the Revision resource 很好地解释了这一点。

Revision are created when the following is changed:

  • A new droplet is created for an app
  • An app’s environment variables are changed
  • The custom start command for an app is added or changed
  • An app rolls back to a prior revision

小注。 The Revision resource is listed as experimental 在我写这篇文章的时候。如果您有兴趣使用它,您需要验证您部署的 CF 版本是否足够新以包含这些功能。

  1. In which real life cases we should use droplet rollback option vs app revision rollback option?

我想说的是,如果您部署了足够新的 CF 版本来使用修订功能,那将会更多 full-featured。它有更多的能力,你可以回滚更多不同的场景。

任何相当新的 CF 版本都应该能够回滚 droplets。

回滚 Droplets 也需要停止应用程序,即停机,而修订版使用 CF 的部署功能,可以执行滚动部署而不会停机。

  1. Is there any other type of rollback beyond these 2 options ?

你总是可以自己编排一些东西。不确定我会建议这样做。 API 在那里,所以如果其中一个不适合您,您可以编写一个流程。

这方面的一个例子。在 CF 中有滚动部署之前。通常的做法是推送一个新应用程序并将路由移动到新应用程序(称为 blue/green 部署)。这是因为您可以暂存并启动新应用程序并确保它运行良好,然后将路由移至新应用程序。移动路线是 CF 上的即时操作,因此无需停机即可很好地管理应用程序。您仍然可以这样做,但现在建议使用滚动部署。