Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| premiers_pas_avec_vagrant [2022/10/20 22:11] – [Création du projet Vagrant] ps | premiers_pas_avec_vagrant [2025/09/10 23:41] (Version actuelle) – [Les actions habituelles] ps | ||
|---|---|---|---|
| Ligne 7: | Ligne 7: | ||
| ===== Vagrant - Installation ===== | ===== Vagrant - Installation ===== | ||
| + | * voir également ici : https:// | ||
| ===== Vagrant - - Utilisation de base ===== | ===== Vagrant - - Utilisation de base ===== | ||
| + | |||
| + | Toutes les actions se réfèrent à la machine (**box**) décrite dans la **Vagrantfile** | ||
| + | |||
| + | Ici, une **Vagrantfile** permettant d' | ||
| + | |||
| + | <code ruby> | ||
| + | -*- mode: ruby -*- | ||
| + | # vi: set ft=ruby : | ||
| + | |||
| + | # All Vagrant configuration is done below. The " | ||
| + | # configures the configuration version (we support older styles for | ||
| + | # backwards compatibility). Please don't change it unless you know what | ||
| + | # you're doing. | ||
| + | Vagrant.configure(" | ||
| + | # The most common configuration options are documented and commented below. | ||
| + | # For a complete reference, please see the online documentation at | ||
| + | # https:// | ||
| + | |||
| + | # Every Vagrant development environment requires a box. You can search for | ||
| + | # boxes at https:// | ||
| + | config.vm.box = " | ||
| + | config.vm.hostname = " | ||
| + | |||
| + | # Disable automatic box update checking. If you disable this, then | ||
| + | # boxes will only be checked for updates when the user runs | ||
| + | # `vagrant box outdated`. This is not recommended. | ||
| + | # config.vm.box_check_update = false | ||
| + | |||
| + | # Create a forwarded port mapping which allows access to a specific port | ||
| + | # within the machine from a port on the host machine. In the example below, | ||
| + | # accessing " | ||
| + | # NOTE: This will enable public access to the opened port | ||
| + | # config.vm.network " | ||
| + | |||
| + | # Create a forwarded port mapping which allows access to a specific port | ||
| + | # within the machine from a port on the host machine and only allow access | ||
| + | # via 127.0.0.1 to disable public access | ||
| + | # config.vm.network " | ||
| + | |||
| + | # Create a private network, which allows host-only access to the machine | ||
| + | # using a specific IP. | ||
| + | # config.vm.network " | ||
| + | |||
| + | # Create a public network, which generally matched to bridged network. | ||
| + | # Bridged networks make the machine appear as another physical device on | ||
| + | # your network. | ||
| + | config.vm.network " | ||
| + | |||
| + | # Provider-specific configuration so you can fine-tune various | ||
| + | # backing providers for Vagrant. These expose provider-specific options. | ||
| + | # Example for VirtualBox: | ||
| + | # | ||
| + | | ||
| + | # # Display the VirtualBox GUI when booting the machine | ||
| + | # | ||
| + | # | ||
| + | # # Customize the amount of memory on the VM: | ||
| + | | ||
| + | end | ||
| + | # | ||
| + | # View the documentation for the provider you are using for more | ||
| + | # information on available options. | ||
| + | |||
| + | # Enable provisioning with a shell script. Additional provisioners such as | ||
| + | # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the | ||
| + | # documentation for more information about their specific syntax and use. | ||
| + | | ||
| + | | ||
| + | apt install -y wget curl git vim | ||
| + | if ! which docker ; then | ||
| + | curl -s -o getdocker.sh https:// | ||
| + | bash getdocker.sh | ||
| + | | ||
| + | fi | ||
| + | # | ||
| + | SHELL | ||
| + | end | ||
| + | </ | ||
| ==== Création du projet Vagrant ==== | ==== Création du projet Vagrant ==== | ||
| Ligne 18: | Ligne 96: | ||
| </ | </ | ||
| - | ON peut alors éditer le fichier **Vagrantfile** pour adapter aux condition locales : | + | On peut alors éditer le fichier **Vagrantfile** pour adapter aux condition locales : |
| ==== Lancer le projet Vagrant ==== | ==== Lancer le projet Vagrant ==== | ||
| Ligne 26: | Ligne 104: | ||
| cd vgtest | cd vgtest | ||
| vagrant up | vagrant up | ||
| + | Bringing machine ' | ||
| + | ==> default: Importing base box ' | ||
| + | ==> default: Matching MAC address for NAT networking... | ||
| + | ==> default: Checking if box ' | ||
| + | ==> default: Setting the name of the VM: gitweb_default_1666296870962_77305 | ||
| + | ==> default: Clearing any previously set network interfaces... | ||
| + | ==> default: Available bridged network interfaces: | ||
| + | 1) wlp1s0 | ||
| + | 2) enp2s0 | ||
| + | ==> default: When choosing an interface, it is usually the one that is | ||
| + | ==> default: being used to connect to the internet. | ||
| + | ==> default: | ||
| + | default: Which interface should the network bridge to? 1 | ||
| + | ==> default: Preparing network interfaces based on configuration... | ||
| + | default: Adapter 1: nat | ||
| + | default: Adapter 2: bridged | ||
| + | ==> default: Forwarding ports... | ||
| + | default: 22 (guest) => 2222 (host) (adapter 1) | ||
| + | ==> default: Booting VM... | ||
| + | ==> default: Waiting for machine to boot. This may take a few minutes... | ||
| + | default: SSH address: 127.0.0.1: | ||
| + | default: SSH username: vagrant | ||
| + | default: SSH auth method: private key | ||
| + | default: | ||
| + | default: Vagrant insecure key detected. Vagrant will automatically replace | ||
| + | default: this with a newly generated keypair for better security. | ||
| + | default: | ||
| + | default: Inserting generated public key within guest... | ||
| + | default: Removing insecure key from the guest if it's present... | ||
| + | default: Key inserted! Disconnecting and reconnecting using new SSH key... | ||
| + | ==> default: Machine booted and ready! | ||
| + | ==> default: Checking for guest additions in VM... | ||
| + | default: The guest additions on this VM do not match the installed version of | ||
| + | default: VirtualBox! In most cases this is fine, but in rare cases it can | ||
| + | default: prevent things such as shared folders from working properly. If you see | ||
| + | default: shared folder errors, please make sure the guest additions within the | ||
| + | default: virtual machine match the version of VirtualBox you have installed on | ||
| + | default: your host and reload your VM. | ||
| + | default: | ||
| + | default: Guest Additions Version: 6.0.0 r127566 | ||
| + | default: VirtualBox Version: 6.1 | ||
| + | ==> default: Configuring and enabling network interfaces... | ||
| + | ==> default: Mounting shared folders... | ||
| + | default: /vagrant => / | ||
| + | ==> default: Running provisioner: | ||
| + | default: Running: inline script | ||
| + | ... | ||
| </ | </ | ||
| - | ==== Se connecterr | + | ==== Se connecter |
| <code bash> | <code bash> | ||
| vagrant ssh | vagrant ssh | ||
| </ | </ | ||
| + | |||
| + | ==== Les actions habituelles ==== | ||
| + | | ||
| + | * **vagrant halt** : arrête les VM | ||
| + | * **vagrant reload** : | ||
| + | * **vagrant provision** : relance la partie provisionning | ||
| + | * **vagrant destroy** : supprime les machines concernées par la Vagranfile | ||