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
280
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.2k
The Laravel Ecosystem
driesvints
14
7.9k
BDD With PHPSpec
driesvints
1
270
An introduction to Laravel 4
driesvints
14
1.8k
Other Decks in Programming
See All in Programming
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
780
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
410
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
350
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
210
Docコメントで始める簡単ガードレール
keisukeikeda
1
110
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
15
2.8k
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
200
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.3k
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
170
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
0
640
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
Done Done
chrislema
186
16k
KATA
mclloyd
PRO
35
15k
4 Signs Your Business is Dying
shpigford
187
22k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
460
Navigating Weather and Climate Data
rabernat
0
130
How to Talk to Developers About Accessibility
jct
2
150
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Being A Developer After 40
akosma
91
590k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
First, design no harm
axbom
PRO
2
1.1k
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!