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
Vagrant - Team development made easy
Search
Marco Silva
November 16, 2012
Technology
1
1.1k
Vagrant - Team development made easy
Development environment using Vagrant. Presented at Codebits2012
Marco Silva
November 16, 2012
Tweet
Share
Other Decks in Technology
See All in Technology
SOC2取得の全体像
shonansurvivors
1
370
いまさら聞けない ABテスト入門
skmr2348
1
200
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
110
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
520
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
590
extension 現場で使えるXcodeショートカット一覧
ktombow
0
210
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
1
870
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
490
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
910
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
0
110
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
130
BtoBプロダクト開発の深層
16bitidol
0
260
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
How to train your dragon (web standard)
notwaldorf
96
6.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Unsuck your backbone
ammeep
671
58k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
Navigating Team Friction
lara
189
15k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
580
For a Future-Friendly Web
brad_frost
180
9.9k
Optimizing for Happiness
mojombo
379
70k
We Have a Design System, Now What?
morganepeng
53
7.8k
Transcript
Vagrant Team development made easy
Me Technical Leader @Centralway Before? Intraneia • Open-Source, Ubuntu Deloitte
• IT Audits, Security & Privacy
How do we develop..
MySQL Apache2 Python PEAR RVM npm nginx PostgreSQL PHP Ruby
RoR MongoDB .... ??? Local development environment
Local development environment No Isolation Not Shareable Not Repeatable
Alternative? Virtual Machines
Vagrant Free and open source Started on January 21, 2010
by Mitchell Hashimoto and John Bender. The first release, 0.1.0 released on March 7, 2010. Linux, Mac OS X, and Windows
Vision The vision of the project is to create a
tool to transparently manage all the complex parts of modern development within a virtual environment without affecting the everyday workflow of the developer too much.
Vagrant ~12000 lines of Ruby ~3500 : test code ~5500
: "plugins" ~3300 : core Thats a lot of code!!!
None
Script must... Import a virtual machine setup host only networking
setup shared folders boots the machine provision the machine support Mac, Linux, and Windows guest additions NFS
and how do we use it?
the basic way #Fetch the Box $ vagrant box add
base http://files.vagrantup.com/precise32.box #Init Vagrant on your current folder $ vagrant init #Start it!! $ vagrant up
with various projects...
None
Vagrantfile Vagrant::Config.run do |config| config.vm.box = "debian" config.vm.box_url = "http://path/to/vagrantbox.box"
config.vm.network :hostonly, "10.10.10.10", :adapter=>4 config.vm.customize ["modifyvm", :id, "--memory", "512"] end
Vagrantfile Vagrant::Config.run do |config| config.vm.box = "debian" config.vm.box_url = "http://path/to/vagrantbox.box"
config.vm.network :hostonly, "10.10.10.10", :adapter=>4 config.vm.customize ["modifyvm", :id, "--memory", "512"] config.vm.provision :puppet do |puppet| puppet.manifests_path = "vagrant/puppet/manifests" puppet.manifest_file = "base.pp" end config.vm.provision :shell, :inline => "/bin/bash /vagrant/myscript.sh" end
Vagrantfile Vagrant::Config.run do |config| config.vm.box = "debian" config.vm.box_url = "http://path/to/vagrantbox.box"
config.vm.network :hostonly, "10.10.10.10", :adapter=>4 config.vm.customize ["modifyvm", :id, "--memory", "512"] config.vm.provision :puppet do |puppet| puppet.manifests_path = "vagrant/puppet/manifests" puppet.manifest_file = "base.pp" end config.vm.provision :shell, :inline => "/bin/bash /vagrant/myscript.sh" end
Demo time....
important vagrant commands vagrant up vagrant provision vagrant suspend vagrant
halt vagrant destroy
tips shared folders vs NFS golden box vs clean box
similar environments -> helps deployments Multi-VM Environments http://vagrantup.com/v1/docs/multivm.html
tips veewee • github.com/jedi4ever/veewee puppet / chef
Thank You vagrantup.com vagrantbox.es github.com/igama/wp-vagrant-demo