Formation PUB030 : Laravel, 2019 Les outils de Laravel

2.2 Vagrant


Vagrant est un outil qui permet de monter un environnement de développement de façon automatisée dans un environnement virtualisé. Il s'agit donc d'une couche entre votre ordinateur et votre machine virtuelle.

Sous Windows, vous lancerez les commandes Vagrant à partir de Git bash. Sous Mac, vous travaillerez à partir du Terminal.

Important : avant de lancer une commande Vagrant, vous devez vous placer dans le dossier de la boîte Vagrant à gérer (ex : ~/Homestead).

Voici une liste de commandes intéressantes.

Commande Utilité Exemple
vagrant Affiche une liste des commandes Vagrant disponibles.    
vagrant box

Affiche une liste des commandes disponibles pour gérer les boîtes Vagrant.

   
vagrant --version

Affiche la version de Vagrant installée.

Il est aussi possible de voir la dernière version disponible ainsi que la version installée à l'aide de vagrant version (pas de --).

 
vagrant box list

Affiche la version de Homestead installée.

 
vagrant box prune

Si vagrant box list affiche une liste des différentes versions d'une boîte, vagrant box prune fera du ménage pour ne lister que la version actuelle.

 
vagrant box add Ajoute une boîte Vagrant. L'option --force fait en sorte que si la boîte existait déjà, elle sera écrasée. vagrant box add laravel/homestead --force
vagrant box update

Met à jour la boîte Vagrant présente dans le dossier courant.

cd ~/Homestead

vagrant box update

vagrant up

Démarre la machine virtuelle et ses serveurs.

   
vagrant halt

Arrête la machine virtuelle.

 
vagrant destroy

Arrête la machine Vagrant du dossier courant et en supprime toutes les traces. La machine pourra être recréée à l'aide de vagrant up mais ceci prendra plus de temps que si vous aviez fait vagrant halt puisque la commande se chargera de réimporter et de reconfigurer la machine. Attention : vos bases de données seront également détruites puisqu'elles sont physiquement enregistrées sur le serveur de bases de données, sur la machine virtuelle.

 
vagrant ssh

Lance une console SSH afin d'interagir avec la machine virtuelle.

   
vagrant reload

Redémarre la machine virtuelle. C'est l'équivalent d'un vagrant halt suivi d'un vagrant up.

L'option --provision force la reconfiguration de la machine virtuelle. Elle permet notamment d'ajuster la machine à la suite d'un changement du fichier Homestead.yaml, par exemple refaire le mapping du dossier de code (configuration folders) ou encore le mapping d'un nom de domaine local avec un dossier (configuration sites).

vagrant reload --provision
vagrant global-status

Affiche l'état de l'environnement Vagrant. Donne notamment l'identifiant de chaque machine Vagrant.

L'option --prune permet de retirer les entrées non valides de la liste affichée par vagrant global-status.

vagrant global-status --prune
vagrant provision

Force la reconfiguration de la machine virtuelle (ex : relecture du fichier Homestead.yaml). Utilise l'identifiant de la machine à reconfigurer ou encore son nom.

vagrant provision 8c22ea0
vagrant package

Copie une boîte Vagrant afin de l'utiliser sur un autre ordinateur. L'option --output permet de spécifier le nom du fichier qui contiendra la nouvelle boîte.

vagrant package --output manouvelleboite.box
vagrant ssh-config

Liste les éléments de configuration utilisés par Vagrant pour effectuer la communication SSH avec la machine virtuelle.

 

Mettre à jour Vagrant

L'installation d'une version de Vagrant plus récente ne peut pas être réalisée à l'aide d'une commande.

Pour installer une nouvelle version :

Pour plus d'information

« HashCorp Vagrant - Development Environments Made Easy ». Vagrant. https://www.vagrantup.com/

« Tutoriel Vagrant ». SUPINFO International University. https://www.supinfo.com/articles/single/6606-tutoriel-vagrant

« Upgrading Vagrant ». Vagrant. https://www.vagrantup.com/docs/installation/upgrading.html

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre