4 ms·
> Storing multiple projects in a single repository does not magically make them a single unit of deployment, even when you deploy them all with a single pipelin
by t43562 2y ago
> Storing multiple projects in a single repository does not magically make them a single unit of deployment, even when you deploy them all with a single pipeline. When you have multiple projects, you always have multiple units of deployment.
It makes it easier to turn them into the same unit of deployment. There's nothing you cannot do some other way of course.
You're right about atomic deployments being difficult and sometimes one can control that risk by the order in which you change things. In a monorepo it's slightly easier to record some kind of script, makefile, dependency system that says "deploy this before that".
With browsers -for sure your user level API has to be stable and cannot change in a sudden incompatible way. When people have seen fit to have layers of APIs underneath it though, one can still have a lot of change thats theoretically hidden from users but still changes lots of APIs.
- chipdart 2y ago> It makes it easier to turn them into the same unit of deployment. They are not the same unit of deployment. That's an impossibility. This critical mistake is at the core of this monorepo nonsense. It's a cargo cult, where people believe that storing code for multiple projects in the same source code revision contol system somehow magically turns distributed systems into a monolith and solves deployment issues. It does not. > You're right about atomic deployments being difficult and sometimes one can control that risk by the order in which you change things. No. That is false. Atomicity in a distributed transaction is not achieved by shuffling operations around. Specially those you cannot control.