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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
370
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
180
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
190
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
220
Tebiki Engineering Team Deck
tebiki
0
24k
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
3.1k
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
2
190
Red Hat OpenStack Services on OpenShift
tamemiya
0
100
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
160
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
106
230k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
80
We Are The Robots
honzajavorek
0
160
It's Worth the Effort
3n
188
29k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Everyday Curiosity
cassininazir
0
130
Side Projects
sachag
455
43k
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