为 Node 应用程序实施 CI/Deployment 管道

Implementing a CI/Deployment Pipeline for a Node app

我很快就会重写一个节点应用程序,目的是 实施持续集成和 TDD。

我还想设计和设置用于开发、暂存和生产的部署管道。

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

我正在研究 TravisCI 和自动化 testing/builds,根据我的理解,可以在构建成功后将 Docker 图像推送到注册表。

我也在学习扩展,并正在研究一种生产设计,其中包含 Google 云 servers/services 为节点应用程序的 3 个集群版本、一个 Redis 集群和 2 个 PostgreSQL 节点提供服务,每个服务都在负载均衡器后面。

我听说过 Kubernetes 被用来管理和部署容器化应用程序,但我很好奇它们是如何组合在一起的。

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

  1. 在开发机器上提交更改 - 推送到存储库。
  2. TravisCI 构建和 运行s 测试,(迁移和推送更改到 postgreSQL 服务怎么样?),推送到 Google 云容器注册表。
  3. 登录到 Google 容器引擎并 运行 使用 Kubernetes 的应用程序。
  4. Redis集群呢? PostgreSQL 节点?

如果这个问题不够清晰和缺乏知识,我提前道歉,但我会在继续之前尝试了解更多信息。

您是否考虑过 Google Cloud Container Builder?从您的 Github 存储库设置 trigger 非常容易,这将根据更改(分支或标记)启动新构建。

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

您还可以 deploy to Kubernetes 作为同一构建的一部分。