我有一个Angular
(2)应用和一个Node.js
中间件(Loopback)作为项目中App Engine的服务运行。
对于数据库,我们在同一个项目中运行PostgreSQL
的计算引擎。
测试进展顺利,我们现在想要一个测试版(用于持续升级测试/演示/等)和一个更稳定的发布部署对于我们最初的内部客户。
我们将在psql中使用不同的数据库作为发行版本,但可以使用相同的服务器进行测试和部署的应用程序。
成本是我们这个小公益组织的一大担忧。 :)
答案 0 :(得分:2)
我的建议如下:
创建两个项目,每个项目对应一个数据库实例。你可以在测试项目中乱搞所有你想要的东西,而不必担心搞乱你的prod部署。您需要在某处安全地存储数据库凭据。一种可能的解决方案是使用Google Cloud Project Metadata,因此您的代码可以在项目之间保持不变。
当您准备部署到生产环境时,我建议您在生产项目中部署新版App Engine应用程序,但不要将其升级为默认版本。
gcloud app deploy --no-promote
这意味着客户仍会使用旧版本,但会部署新版本,以确保一切正常。之后,您可以缓慢(或快速)将流量转移到新版本。
在此视频的大约8:45,演示了流量分割: https://vimeo.com/180426390
此外,我建议积极关闭未使用的App Engine Flexible部署以节省成本。您可以阅读更多here。