3 ms·
You only have to rebuild the artifacts that are affected by each change. And each change (assuming CI/CD) only causes the changes build artifacts to be pushed
by jameshart 4y ago
You only have to rebuild the artifacts that are affected by each change.
And each change (assuming CI/CD) only causes the changes build artifacts to be pushed to prod.
So the amortized build/push cost depends on how often you are making changes that affect multiple artifacts versus fewer artifacts.
If an individual change only affects either the web binary or one of the cron job binaries then those build times will be shorter than they would be to build the big binary, and the amount of data pushed to prod will be smaller.
If an individual change affects multiple binaries then building all of them will take longer, and more data will need to be pushed (although - maybe it nets out the same in terms of fa out to multiple servers - your cron servers only need the cron binary, your web servers only need the web binary)
So, if the vast majority of the time you are only impacting a single component build, you save build time and deploy bytes by building smaller artifacts.
At the cost that making cross-system changes requires a slightly longer build time.