Monorepo中微服务的Codeship独立CI

时间:2018-11-08 13:31:07

标签: node.js continuous-integration microservices codeship monorepo

当前,我们有一个NodeJS整体应用程序。测试以Codeship运行,如果测试为绿色,则代码将部署到Heroku。那很容易。

因此,我们希望将Monolith应用程序细分为微服务,我们更喜欢Monorepo解决方案。

例如,我们在仓库中有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?

1 个答案:

答案 0 :(得分:1)

是的,CodeShip Pro提供了类似Docker Compose的方法来从同一项目空间设置多个服务。假设微服务已经拆分到其特定的文件夹中,则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以获取更多信息