Pour un administrateur système, la virtualisation est un super jouet.
Et pour un développeur cela peut devenir un super outil, mais tellement compliqué à mettre en place.
Et c’est là que Vagrant arrive à la rescousse :
Pas d’installation d’OS
Pas de réseau à gérer
Partage de fichier simplifié
Bref, c’est dégoutant de simplicité pour un administrateur système.
Mais (il en faut bien un), la prise en main n’est pas forcement très simple…
Les termes à comprendre
Box
Package
Box : en gros, c’est simplement un modèle décompressé de VM. Vagrant va s’en servir pour déployer des VM.
Package : c’est la version compressée d’un modèle de VM.
On télécharge un package pour l’installer en tant que box. Une instance de VM peut être convertie en package.
Installation de VirtualBox
La première chose à faire est d’installer Virtual Box : direction le site de Virtual Box. Prenez l’installeur qui correspond à votre système d’exploitation. Attention Vagrant ne supporte que les versions VirtualBox 4.0.x et 4.1.x. Il y a peut-être une solution pour votre distribution Linux du style package tout prêt. Et je ne sais absolument pas ce que ça donne sous Windows.
Installation de Vagrant
Installation d’une VM par défaut
Pour la première VM on va utiliser un package d’Internet.
Première VM
Vous pouvez simplifier le fichier Vagrantfile :
Pensez à remplacer la ligne :
Par notre box installé tout à l’heure :
Et maintenant lancer la création de la VM. Attention c’est magique :
Notre machine est prête :
Et voilà !
Pour arrêter notre VM, on sort du SSH et :
Mettre à jour une box
Quand j’ai essayé Vagrant hier, je suis tombé sur cette erreur :
J’ai trouvé pas mal de solutions, mais trop compliqué et/ou qui télécharges les MAJ sur Internet. Moi je fais comme ça :
Un petit backup :
Dé-commenter la ligne suivante dans le fichier Vagrantfile :
La fenêtre de la VM va s’ouvrir en parallèle. Sélectionner cette fenêtre et dans le menu « Périphérique / installer les additions invitées »
Donc maintenant nous sommes dans la VM :
Un petit tour dans le fichier /var/log/vboxadd-install.log nous dis qu’il manque les headers du noyau. Pour les installer :
Un petit reboot pour vérifier que ça fonctionne :
Maintenant, transformer la VM en package :
Et installer le nouveau package pour remplacer la box :
Maintenant, re-commenter la ligne suivante dans le fichier Vagrantfile :
Pour essayer si la nouvelle box fonctionne :
Si vous avez compris comment mettre à jours la box, immaginez vous faire la même chose avec l’installation de middleware (Apache, Nginx, PHP, Rails, …)
Prochain épisode ? Déploiment d’un environnement pour héberger du Rails ?
Vous pouvez demander si vous avez d’autres idées d’articles.
Edit:
Je me suis posé la question d’où est-ce que je pouvais trouver des boxes toutes prêtes. Parce que bon, Ubuntu 64bits c’est bien. Mais moi j’ai aussi de la Debian
J’ai trouvé http://vagrantbox.es/ et je me suis rendu compte après que @Ethernitys l’avait ajouté dans un Tweet qui concernait cet article.