Treating Repos Like Cattle Instead of Pets
Glue Work
I’ve been thinking on the approach that Cloudposse has taken in this project:
When managing many repos I think that concept is so freaking amazing. Why aren’t more tools centrally synced and updated like this!
Thinking on handling repositories tooling in a consistent manner. What can we do to handle projects in a consistent way and reduce the rework required? Shift the responsibility to the CI system with the cost of slower iterative feedback for a developer and reliance on plugins?
It’s sorta like we treat repos as “pets” rather than cattle with our tooling. I think this is where github actions is so amazing, as they’ve brought in ways to use organizational level definitions to run and reuse.
Tools like “cookie-cutter” or github repo templates seem nice, but I think they might be a bandaid. They are solving the problem of making it faster to setup a new project with tooling and structure.
If there is a tool like build-harness though, customizing automation tooling becomes a breeze as you just sync the latest defaults.
Docker
Docker solves much more of the problem by wrapping up tools and dependencies in a single package that can be reused in many projects.
It does come with the downside of a less friendly interface, but there are options around this. Debugging and running compiled applications is also possible, yet does come with the downside of added complexity.
A Happy Mix
Maybe the mix of task definitions in Docker, while not expecting developers to run every single command fully embedded in Docker is a happy medium?