28
Vagrant Construire des environnements de développement virtualisés Human Talks - Paris - 9 juillet 2013

Vagrant - Concept

Embed Size (px)

DESCRIPTION

Vagrant - Pourquoi ? Qu'est-ce que c'est ? Comment ça marche ?

Citation preview

Page 1: Vagrant - Concept

Vagrant

Construire des environnements de développement virtualisés

Human Talks - Paris - 9 juillet 2013

Page 2: Vagrant - Concept

Julien Dubreuil

Développeur PHP / Drupal

Commerce Guys

Animateur du groupe utilisateur Drupal à Paris

@juliendubreuil

www.juliendubreuil.fr

[email protected]

Page 3: Vagrant - Concept

Quelques constats

Vagrant, c'est quoi ?

Vagrant comment ça marche ?

SOMMAIRE

Page 4: Vagrant - Concept

Quelques constats simples

Page 5: Vagrant - Concept

PROBLÈME #1

Accueillir un nouveau développeur

- Un poste à configurer

- Des projets à installer

=

Une journée de perdue

Page 6: Vagrant - Concept

Uniformité des environnements“Pourtant ça marche chez moi”

Environnement Développeur

!=

Environnement Dev

!=

Environnement Prod

PROBLÈME #2

Page 7: Vagrant - Concept

PROBLÈME #3

Faire cohabiter différents environnements

PHP5.2

PHP5.3

PHP5.4

MySQL 5.20

MySQL 5.33

MongoDB2.2.5

MongoDB2.4.5

Page 8: Vagrant - Concept

Pas d'isolation

PROBLÈME #4

Espace utilisateur

OS

PHP

PHPStorm

FilesMySQL Apache

MongoDB

Mail

Chrome Firefox

Page 9: Vagrant - Concept

http://jrcommercialcleaning.com

Page 10: Vagrant - Concept

CONSTATS

Pas d'isolation

Pas exportable

Compliqué à installer / réinstaller

Page 11: Vagrant - Concept

Espace utilisateur

VIRTUALISATION

OS

VM

PHP

PHPStorm

Files

MySQL

Apache

MongoDB

Mail

Chrome

Firefox

Page 12: Vagrant - Concept

Virtualisation

Exportable

Isolation Hôte / VM

Simple à installer

Simple à utiliser

Compliqué à faire évoluer

SOLUTION ?

+

-

+

+

+

Page 13: Vagrant - Concept

Vagrant

Page 14: Vagrant - Concept

" Vagrant est un fantastique outil pour configurer,

administrer et distribuer des machines virtuelles via

une interface simple en ligne de commande. "

Par Mitch Hashimoto and John Bender

VAGRANT

Page 15: Vagrant - Concept

VAGRANT

Vagrant

INDÉPENDANCE

La machine hôte n'est pas polluée

UNIFORMITÉ

Les développeurs ont la même configuration

CONFIGURABLE

Toute la configuration réside dans des fichiers

VERSIONNABLE

RAPIDE À DÉPLOYER

3 commandes avant de commencer à travailler

SIMPLE À UTILISER

Pas besoin d'être SysAdmin ou DevOps

Page 16: Vagrant - Concept

Répertoire

partagé

FONCTIONNALITÉS

Provisionningautomatisé

Port

forwarding

VirtualBox VMWareAccès SSH

Configuration

du réseau

Page 17: Vagrant - Concept

VAGRANTFILE

Vagrantfile est à Vagrant ce que Makefile est au Make

Description de la VM dans du code.

Un fichier par répertoire / projet

Page 18: Vagrant - Concept

VAGRANT : BOXES

BOX = Environnement pré-installé

Des boxes prêtes à l'emploi : http://vagrantbox.es

- Debian

- Ubuntu

- CentOS

- ...

VEEWEE

Page 19: Vagrant - Concept

VAGRANTFILE

Vagrant.configure("2") do |config|

config.vm.box = "precise64"

config.vm.box_url = "http://example.com/precise64.box"

end

Page 20: Vagrant - Concept

VAGRANTFILE - SHARED FOLDER

Vagrant.configure("2") do |config|

# Add a shared folder

config.vm.synced_folder "src/", "/src/website"

end

VM Host

/home/vagrant/folder

/home/bob/folder

Page 21: Vagrant - Concept

Vagrant.configure("2") do |config|

# Network configuration

config.vm.network :private_network, ip: "192.168.50.4"

# Port forwarding

config.vm.network :forwarded_port, guest: 80, host: 8090

end

VAGRANTFILE - NETWORK & PORT FORWARDING

VM Host80 8090

3306 13306

Page 22: Vagrant - Concept

COMMENT ÇA MARCHE

VAGRANT BOX(Os image)

VAGRANTFILE(Configuration)

VAGRANT(CLI + API)

VIRTUAL BOX(VM management)

VM

Page 23: Vagrant - Concept

vagrant init

vagrant add box Precise64 http:/.../precise64.box

vagrant up

DÉMARRER LA MACHINE

Page 24: Vagrant - Concept

$ vagrant --help

vagrant box

vagrant destroy

vagrant halt

vagrant init

vagrant provision

vagrant reload

vagrant resume

vagrant ssh

vagrant status

vagrant suspend

vagrant up

COMMANDES

Page 25: Vagrant - Concept

VAGRANT

+ Exportable+ Isolation Hôte / VM

+ Simple à installer+ Simple à utiliser

+ Simple à faire évoluer

PROBLÈME RÉSOLU ?

+

+

+

+

+

Page 26: Vagrant - Concept

Le site officiel - http://www.vagrantup.com/

Des squelettes de boxes prêtes à l'emploi- http://www.vagrantbox.es/

Veewee un outil pour construire vos boxes Vagrant.- https://github.com/jedi4ever/veewee

RESSOURCES

Page 27: Vagrant - Concept

Questions ?

Page 28: Vagrant - Concept

Merci !

@juliendubreuil

www.juliendubreuil.fr

[email protected]