<blockquote>
  <p>So if we change it for one service, we need to update it in each docker-compose.yml in each project.</p>
</blockquote>

<p>That's sounds like duplicate code and there are many ways to avoid that. But without more detailed information about how your setup looks like it's difficult to help. </p>

<p>Within a pipeline you can access other projects and their source code. Maybe Git Submodules is an option. Or you might be interested in the <a href="https://docs.gitlab.com/ee/ci/yaml/#include" rel="nofollow noreferrer">include keyword</a> of GitLab CI.</p>

CC BY-SA 4.0
2019-10-18T21:40:35.130Z
2019-10-18T21:40:35.130Z
lukket
<p>hey we have a GitLab stage and inside that we need to start an environment with several containers we pull from a local registry.</p>

<p>We use compose and a docker in docker solution for that at the moment.</p>

<p>The problem is, that the compose.yml now hold all the configuration for each service.</p>

<p>So if we change it for one service, we need to update it in each docker-compose.yml in each project.</p>

<p>What is the standard approach for such a setting?</p>

<p>Thanks</p>

<docker><docker-compose><gitlab><cicd><docker-in-docker>
Multiple Microservices in CI environment
Chris Pillen
# Multiple Microservices in CI environment

(Asked by: username_0 on 2019-10-16)

hey we have a GitLab stage and inside that we need to start an environment with several containers we pull from a local registry.

We use compose and a docker in docker solution for that at the moment.

The problem is, that the compose.yml now hold all the configuration for each service.

So if we change it for one service, we need to update it in each docker-compose.yml in each project.

What is the standard approach for such a setting?

Thanks

**Tags:** docker, docker-compose, gitlab, cicd, docker-in-docker


---

## 1 answers

### Answer by username_1 on 2019-10-18. Score: 1

> So if we change it for one service, we need to update it in each docker-compose.yml in each project.

That's sounds like duplicate code and there are many ways to avoid that. But without more detailed information about how your setup looks like it's difficult to help.

Within a pipeline you can access other projects and their source code. Maybe Git Submodules is an option. Or you might be interested in the [include keyword](https://docs.gitlab.com/ee/ci/yaml/#include) of GitLab CI.


---

