Desktop Provisioning for a Small Linux Software Development Team
- by deakblue
Goal: Get a small team using a standard development image rather than 4 software devs setting up their own environments.
Why:
it takes a day or days to install a distro, build-specific libraries, tools like editors and IDEs, mysql, couchdb, java, maven, python, android-sdk, etc. It's a giant PITA that when repeated 4 times by 4 developers (not sys admins) wastes time and generates annoying divergences that crop up later (it-builds-on-my-box syndrome).
There's no sharing of productivity, settings, tricks, scripts, set-ups.
Some of this is helped by segregating the build systems into headless virtualbox images. This doesn't really address tooling though or the GUI-desktop dev that needs doing.
So I see three basic strategies, ghosting, virtualization, and finally creating a kind of in-house linux distro (I guess Google does something like this).
The target dev environment is based on Debian OpenBox and must allow a mix of 3rd gen Core i7 notebooks 8GB-minimum to work both single and multihead. Important, the lappies are not the same, but a mix of 2012 macbooks and PCs. So:
virtualization: is doing all of your work within a VM, like VirtualBox, practical on this hardware or annoying.
ghosting: will laptops from different manufacturers make this impractical.
DIY distro: short of scripting a bunch of package installs, I don't know if there's any "distro-maker" that could keep this from being an epic project of scripting package installs.
So any advice?