Objectif : Faites en sorte qu'une petite équipe utilise une image de développement standard plutôt que 4 développeurs de logiciels qui configurent leurs propres environnements.
Pourquoi ?
-
il faut un jour ou des jours pour installer une distribution, des bibliothèques spécifiques à la construction, des outils comme des éditeurs et des IDE, mysql, couchdb, java, maven, Python, Android-sdk, etc. C'est un énorme PITA qui, lorsqu'il est répété 4 fois par 4 développeurs (et non par des administrateurs système), fait perdre du temps et génère des divergences ennuyeuses qui réapparaissent plus tard (le syndrome du "it-builds-on-my-box").
-
Il n'y a pas de partage de la productivité, des paramètres, des astuces, des scripts, des configurations.
La séparation des systèmes de construction dans des images virtualisées sans tête peut aider à résoudre ce problème. Cependant, cela ne permet pas vraiment d'aborder la question de l'outillage ou du développement de l'interface graphique et du bureau qui doivent être réalisés.
Je vois donc trois stratégies de base, le ghosting, la virtualisation, et enfin la création d'une sorte de distro linux interne (je suppose que Google fait quelque chose comme ça).
L'environnement de développement cible est basé sur Debian OpenBox et doit permettre à un mélange d'ordinateurs portables Core i7 de 3e génération avec un minimum de 8 Go de fonctionner à la fois sur une et plusieurs têtes. Important, les lappies sont no la même chose, mais un mélange de macbooks et de PC de 2012. Donc :
-
la virtualisation : consiste à faire tout votre travail dans une VM, comme VirtualBox, pratique sur ce matériel ou gênante.
-
ghosting : des ordinateurs portables de différents fabricants rendront cela impraticable.
-
Distro DIY : à moins de scripter un tas d'installations de paquets, je ne sais pas s'il y a un "distro-maker" qui pourrait empêcher que cela ne soit un projet épique de scripts d'installations de paquets.
Alors, un conseil ?