独立于 Codeship CI 用于 monorepo 中的微服务

Codeship independent CI for microservices in monorepo

目前我们有一个 NodeJS 单体应用。 Codeship 中的测试 运行,如果测试为绿色,则代码将部署到 Heroku。这很容易。

所以我们想将我们的整体应用程序分解成微服务,我们更喜欢 monorepo 解决方案。

例如,我们在 repo 中有 service-1service-2。我们想为 Codeship 上的每个服务设置独立的 CI 和部署管道。

my-repo
  - service-1
    - src
    - package.json
    - docker-compose.yml
    - codeship-steps.yml
  - service-2
    - src
    - package.json
    - docker-compose.yml
    - codeship-steps.yml

你知道我们如何设置理想的CI吗?

是的,CodeShip Pro 提供了一种 Docker 类似 Compose 的方法来从同一项目 space 设置多个服务。假设微服务已经拆分到它们的特定文件夹中,codeship-services.yml 可能如下所示:

    service-a:
      build:
        context: ./service-a
        dockerfile: Dockerfile # The Dockerfile in ./service-a directory

    service-b:
      build:
        context: ./service-b

请查看我们的comprehensive intro guide了解更多信息