4 ms·
So what you're saying is each machine would be a build slave? Interesting idea.
by cheez 10y ago
So what you're saying is each machine would be a build slave? Interesting idea.
- contingencies 10y agoNope. Normally in a centralized system you would hook up CI/CD processes to dedicated infrastructure, so that when developers commit to your RCS/VCS server (github, gitlab, whatever else), builds and tests are automatically run. This infrastructure may be a dedicated system, a cluster, or outsourced infrastructure (real or virtual). Because git (or any other RCS/VCS) is a well defined formal interface between the developer and the rest of the development-related business processes (automated or otherwise), it means individual machines can just be user managed, which developers tend to prefer. It's worth mentioning that there is a school of thought that builds or tests that take longer than a few seconds on a developer's machine are undesirable from a workflow optimization perspective and may be indicative of a non continuous delivery (CD) capable codebase, with probable features such as knowledge silos ("only that guy knows"), undeployability, low quality, lack of project visibility, infrastructure tie-in and late defect discovery.
- RealityVoid 10y agoWhile a few seconds is unrealistically fast, if you ask me, I did notice that long testings duration is very detrimental to the quality and testability of a code base. If you have to wait 1h for testing feedback it kills the development inertia. And so do slow development tools, compiling something for 2 h and then getting negative feedback is not cool, and yet this is something I've seen happen at my current job and it drives me insane.
- contingencies 10y agocompiling something for 2 h and then getting negative feedback is not cool, and yet this is something I've seen happen at my current job and it drives me insane. You could consider an on-demand cloud-based compile farm, or incremental builds with snapshots.