为节点应用程序实现CI /部署pipe道

为了实现持续集成和TDD,我将很快在重写节点应用程序。

我也想devise和build立一个用于开发,分期和生产的部署pipe道。

目前我正在使用Shipit将更改推送到具有预configuration环境的不同实例。 我听说过部署Docker容器所需的环境,我想了解更多。

我正在看TravisCI和自动化testing/构build,并从我的理解,可以推动docker图像到构build成功后的registry。

我还在学习扩展,并且考虑了一个生产devise,该devise包含服务3个集群版本的节点应用程序,Redis集群和2个PostgreSQL节点的Google Cloud服务器/服务,每个服务位于负载平衡器后面。

我听说Kubernetes被用来pipe理和部署集装箱化的应用程序,但我很好奇它是如何融合在一起的。

在我的脑海里,我认为这个过程似乎如下:

  1. 在开发机器上提交更改 – 推送到存储库。
  2. TravisCI构build并运行testing(如何将迁移和推送到postgreSQL服务的变化?)推送到Google云容器registry中。
  3. loginGoogle容器引擎并使用Kubernetes运行应用程序。
  4. 那么Redis集群呢? PostgreSQL节点?

如果这个问题缺乏清晰度和知识,我会事先道歉,但是在我走之前,我正努力学习更多。

您是否考虑过Google Cloud Container Builder? 从Github仓库中设置一个触发器非常简单,它将启动一个新的基于更改(分支或标签)的构build。

作为构build的一部分,您可以将新图像推送到GCR。

而且你也可以部署到Kubernetes作为同一个版本的一部分。