I’m excited about the Auto DevOps feature of Gitlab. I wanted to know how others were dealing with the monorepos and Auto DevOps?
I prefer to operate a monorepo, where all our components (several micro-services, a web application, some custom cli’s) are in a single repo.
When a commit is made to a component, that should kick of CI, create a review app, and ultimately end up in production (the value stream hey!).
How do other people deal with this scenario? How do you prevent ever component in the monorepo from being built? More importantly, how do you prevent every component in the monorepo from being deployed, when only one service has had a change?
We are using a bootstrap build step which calls a custom shell script which checks git log to determine which package in the monorepo changed and then kicks off subsequent (set to manual) build chains in the same ci config via the gitlab-ci rest API via curl.
Works fine with the downside that failed builds show up as orange instead of red.
Could you maybe post an example on how you do it.
I think it might be helpful for others as an inspiration (it would be definitely helpful for my use case).