In my team, we are far from being DevOps ninjas, and we are considering the options we have to implement CD on our GitLab Monorepo.
That’s why i’m posting here, for some help and advices
Let’s have a look at our GitLab repository structure and how we work with it :
- We use GitLab for version control of the codebase of many APIs that we need to deploy on our production server
- Each single API has its own life cycle : creation, modification… and sometimes deletion when deprecated
- To have a better understanding of our repos, let’s consider our folders and files :
Tomorrow, someone in our team will have to code a “My-Api-m” and at last deploy it on our prod server.
Or this someone will have to modify the existing “My-Api-2”, and deploy it.
Today, what happens when we push a new API : our CI pipeline start code linting and unit testing on all our APIs in the repos,
going this way with CD will result in the deployment of all the APIs at each push => this we don’t want !
I’ve read some stuff about the use of wildcards to include child .YML files (planned for a future GitLab release), but today, which options do we have ?