Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
An Introduction to Vagrant & Vaprobash
Search
Dries Vints
April 30, 2014
Programming
1
270
An Introduction to Vagrant & Vaprobash
A quick overview of Vagrant and the main provisioners and an overview of Vaprobash.
Dries Vints
April 30, 2014
Tweet
Share
More Decks by Dries Vints
See All by Dries Vints
Event Sourcing in Laravel with EventSauce
driesvints
0
1.1k
The Laravel Ecosystem
driesvints
14
7.8k
BDD With PHPSpec
driesvints
1
230
An introduction to Laravel 4
driesvints
14
1.7k
Other Decks in Programming
See All in Programming
Defying Front-End Inertia: Inertia.js on Rails
skryukov
0
460
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
230
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
840
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
3
1.2k
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
2
260
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
130
Making TCPSocket.new "Happy"!
coe401_
1
130
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
0
890
Ruby's Line Breaks
yui_knk
2
480
Youtube Lofier - Chrome拡張開発
ninikoko
0
2.4k
技術選定を未来に繋いで活用していく
sakito
3
110
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
580
Featured
See All Featured
BBQ
matthewcrist
88
9.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Gamification - CAS2011
davidbonilla
81
5.2k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
GitHub's CSS Performance
jonrohan
1030
460k
Java REST API Framework Comparison - PWX 2021
mraible
30
8.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Code Reviewing Like a Champion
maltzj
522
39k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Transcript
AN INTRODUCTION TO VAGRANT & VAPROBASH BY DRIES VINTS
ABOUT ME ▸ Developer at BeatSwitch ▸ Writer of Laravel
Weekly ▸ Contributor for Laracon EU
THE GOALS ▸ Intro to Vagrant ▸ Start using Vaprobash
DEVOPS
None
WHAT WILL THIS TALK NOT COVER? ▸ Detailed provisioning ▸
Server configuration (Apache, Nginx) ▸ Vagrant deployment
WHAT WILL THIS TALK COVER? ▸ Quick intro of Vagrant
& basics ▸ Quick overview of provisioners ▸ Getting started with Vaprobash
WHAT IS VAGRANT? ▸ Created by Mitchell Hashimoto in 2010
▸ Development environments ▸ Lightweight, reproducible and sharable
WHY VAGRANT?
"It works on my machine"
WHY VAGRANT? ▸ Sharable development environments ▸ No more messing
w/ your workstation ▸ Works on all major OS: Linux, OSX and Wincrap FREE
VAGRANT VS. TRADITIONAL METHODS ▸ MAMP ▸ Development Servers ▸
Personal Virtual Servers
DEVELOP ON VIRTUAL PRODUCTION ENVIRONMENTS
TERMINOLOGY ▸ Boxes (vagrantcloud.com) ▸ Host and Guest ▸ Provider
(Virtualbox, VM Ware) ▸ Provisioner ▸ Synced Folder ▸ Vagrantfile
GETTING STARTED
WHAT YOU NEED ▸ Vagrant ▸ Virtualbox or VM Ware
VAGRANTFILE Vagrant.configure("2") do |config| config.vm.box = "hashicorp/precise32" config.vm.provision :shell, :path
=> "bootstrap.sh" config.vm.network :forwarded_port, host: 4567, guest: 80 end
COMMANDS $ vagrant up $ vagrant reload $ vagrant halt
$ vagrant suspend $ vagrant resume $ vagrant provision $ vagrant ssh $ vagrant destroy $ vagrant share
VAGRANT CLOUD vagrantcloud.com ▸ Vagrant share ▸ Box distribution (private
or public) ▸ Discover boxes
PROVISIONING
PROVISIONERS ▸ Puppet ▸ Chef ▸ Ansible ▸ Bash
PUPPET - CHEF - ANSIBLE ▸ Puppet: not sequential ▸
Chef: high learning curve & chaotic documentation ▸ Ansible: easy (read: easier)
VAPROBASH
VAPROBASH ▸ Created by Chris Fidao ▸ Vagrant Provisioning Bash
Scripts ▸ Goal: easy to use provisioning
BASE SUPPORT ▸ Git ▸ PHP ▸ Vim ▸ ...
WEB SERVERS ▸ Apache ▸ HHVM ▸ Nginx
DATABASES ▸ MySQL ▸ PostgreSQL ▸ SQLite ▸ MongoDB ▸
...
FRAMEWORKS/TOOLS ▸ Composer ▸ Laravel ▸ Symfony ▸ PHPUnit ▸
...
AND MORE ▸ Memcached ▸ Redis ▸ ElasticSearch and ElasticHQ
▸ Beanstalkd ▸ ...
XIP.IO # xip.io domain 192.168.22.10.xip.io # or hosts file entry
192.168.22.10 example.loc
DEMO!
SHOULD I USE VAGRANT?
DON'T STOP HERE ALWAYS BE LEARNING
None
RESOURCES ▸ Vaprobash: fideloper.github.io/Vaprobash ▸ Ansible provisioning: getprotobox.com ▸ Web
dev screencasts: laracasts.com ▸ For speakers: speaking.io
CONTACT ▸ twitter.com/driesvints ▸
[email protected]
▸ github.com/driesvints
CREDITS ▸ Erika Heidi for some ideas of her own
talk ▸ Chris Fidao for Vaprobash ▸ Mitchell Hashimoto for Vagrant ▸ BeatSwitch for being awesome
QUESTIONS?
THANK YOU!