cloudfoundry上node.js应用程序的蓝色/绿色部署

cloudfoundry上node.js应用程序的蓝色/绿色部署,node.js,cloud-foundry,blue-green-deployment,Node.js,Cloud Foundry,Blue Green Deployment,是否有任何工具可以自动在cloudfoundry上为node.js应用程序进行蓝色/绿色部署。我尝试了cloudfoundry gradle插件(),但它需要带有jar/war文件的文件参数,而节点应用程序中不存在这个参数。如何在cloudfoundry中自动化节点应用程序的蓝色/绿色部署?Bluemix文档包括一个关于如何影响蓝色/绿色零停机部署(也称为a/B部署)的简短教程[1]。本教程提供了两种方法。我建议使用第二种方法,它使用“cf map route”和“cf unmap route”

是否有任何工具可以自动在cloudfoundry上为node.js应用程序进行蓝色/绿色部署。我尝试了cloudfoundry gradle插件(),但它需要带有jar/war文件的文件参数,而节点应用程序中不存在这个参数。如何在cloudfoundry中自动化节点应用程序的蓝色/绿色部署?

Bluemix文档包括一个关于如何影响蓝色/绿色零停机部署(也称为a/B部署)的简短教程[1]。本教程提供了两种方法。我建议使用第二种方法,它使用“cf map route”和“cf unmap route”命令,允许两个版本的应用程序共享一条路由。您可以使用只有您知道的路由部署新版本。测试以确保其行为符合预期,然后将原始路由映射到新版本,以便旧版本和新版本的应用共享相同的路由。然后,在将两个版本映射到同一路由后,可以缩小旧版本(到零实例),并放大另一个版本。随着实例的缩减,弹性运行时将确保在终止实例之前停止任何活动请求

Tim Spann的本教程[2]也非常善于解释,并引用了Matt Stine发布的另一个伟大的源代码,该代码在发布时非常棒,但现在使用cf cli语法有点过时

下面是一个自动化的例子[3],我们不得不影响cloudfoundry.org web应用程序的蓝色/绿色部署。希望您可以根据自己的需要重新调整用途

另一个很好的教程[4],包括自动化,并描述了如何在IBMDevOps服务中集成blue/green部署自动化

[1]

[2]

[3]


[4] 有一个用于Cloud Foundry的社区插件,可以自动进行蓝绿部署。消息来源是。 要使用,请在部署脚本中执行以下操作:

cf install-plugin blue-green-deploy -r CF-Community
cf blue-green-deploy <app_name> --smoke-test <path to test script>
cf安装插件蓝绿色部署-r cf社区
cf蓝绿色展开-烟雾测试
(烟雾测试是可选的,但是合理的。)


如果测试脚本以零退出代码退出,插件将重新映射从当前live应用程序到新应用程序的所有路由。

我应该注意,虽然我引用了Bluemix的文档;IBM Bluemix基于Cloud Foundry,因此该指南对大多数基于Cloud Foundry的产品都同样有效,当然也适用于Cloud Foundry的任何OSS部署。谢谢,但问题是如何自动化blue/green部署,而不是如何做到这一点。我希望在每次提交开发分支(持续部署)时部署新版本的应用程序。这种情况一天甚至可能发生三次。我不想有手动步骤。Piotr,谢谢,我想我有一个脚本可能会有所帮助。别忘了环境变量。我必须将三个环境变量从蓝色复制到绿色(或相反),才能让我的应用程序工作。