According to this article a monorepo contains different projects. What are best practices for triggering different pipelines?
The current git repo contains the following projects:
╔═════════════╗
║ projects ║
╠═════════════╣
║ A ║
║ B ║
║ C ║
║ D ║
║ E ║
╚═════════════╝
There are three different pipelines, i.e. x
, y
and z
If a certain project inside the monorepo changes, different pipelines should be triggered, i.e.:
If a commit is done in folder a
then pipeline x
should be triggered (a --> x
).
If a change occurs in directory b
or c
then pipeline y
should be run (b || c > y
) and if either d
or dir e
changes then pipeline should start running (d || e > z
).
How to achieve this? Most CI's are triggered by changes in a repository, e.g. one commits to a repo and a pipeline is triggered. There is a 1 on 1 relation. If this is translated to a monorepo that means that 1 change results in 3 pipeline triggers, while in some cases only 1 pipeline should be triggered.