Codeship independent CI for microservices in monorepo

531 views Asked by At

Currently we have a NodeJS monolith app. The tests run in Codeship and if the tests are green then the code will be deployed to Heroku. That is pretty easy.

So we would like to break up our monolith app into microservices and we prefer monorepo solution.

For example we have service-1 and service-2 in the repo. We would like to setup independent CI and deployment pipeline for each services on Codeship.

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

Do you have any idea how can we setup the ideal CI?

1

There are 1 answers

2
Drew Kitch On BEST ANSWER

Yes CodeShip Pro provides a Docker Compose-like approach to setting up multiple services from the same project space. Assuming microservices are already split up into their particular folders, a codeship-services.yml may look like the following:

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

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

Please check out our comprehensive intro guide for more information