EVSİZ BARKSIZ
ADAM!
Sanal Makine
Orkestrasyon Aracı
Uğur "vigo" Özyılmazel
vigobronx vigo
Hızlıca geliştirme ortamı

kurmayı sağlayan bir araç!
Mitchell Hashimoto tarafından

Ruby ile geliştirildi ve ilk olarak

Ruby gem'i şeklinde kullanılmaya

başlandı.
Windows
Linux
Mac OS X
https://www.virtualbox.org/wiki/Downloads
1
VirtualBox ve Extention Pack
http://www.vagrantup.com/downloads
2
1.7.2
vagrant init hashicorp/precise64
vagrant up
vagrant ssh
3
Ubuntu 12.04 LTS 64-bit
Vagrantfile
HOST
GUEST
config.vm.box = "hashicorp/precise64"
config.vm.network "forwarded_port", guest: 80, host: 8080
# http://localhost:8080 => box'da:80
config.vm.network "private_network", ip: "192.168.33.101"
config.vm.synced_folder ".", "/var/www"
/vagrant
Default mount
vagrant -v | --version
vagrant -h | --help
vagrant ssh
vagrant up
vagrant halt
vagrant destroy
vagrant package
vagrant global-status
vagrant plugin list
vagrant plugin install vagrant-vbguest
vagrant box list
vagrant box add USER/Box
?
user
Kullanıcı Adı
Şifre
vagrant
vagrant
Varsayılan kullanıcı adı ve şifresi
provider
VirtualBox
VMWare
AWS
Digital Ocean
Rackspace
Docker *
Hyper-V *
vagrant up --provider=vmware_fusion
vagrant box list
- hashicorp/precise64 (virtualbox, 1.1.0)
* Ek konfigürasyon işlemleri gerekiyor
provisioning
inline
file
shell
Ansible
config.vm.provision "shell", inline: "echo hello"
config.vm.provision "shell" do |s|
s.inline = "echo hello"
end
Chef
Salt
Puppet
Docker
provisioning
inline
file
shell
Ansible
# isimlendirilebiliyor
config.vm.provision "bootstrap", type: "shell" do |s|
s.inline = "echo hello"
end
Chef
Salt
Puppet
Docker
provisioning
inline
file
shell
Ansible
# her seferinde çalışsın
config.vm.provision "shell",
inline: "echo hello",
run: "always"
Chef
Salt
Puppet
Docker
provisioning
inline
file
shell
Ansible
# Host'daki .gitconfig'i, Guest'deki vagrant

# kullanıcısının home'a kopyala...
config.vm.provision "file",
source: "~/.gitconfig",
destination: ".gitconfig"
Chef
Salt
Puppet
Docker
provisioning
inline
file
shell
Ansible
# script.sh'deki komutları çalıştır
Vagrant.configure("2") do |config|
config.vm.provision "shell", path: "script.sh"
end
Chef
Salt
Puppet
Docker
provisioning
linkler
http://docs.vagrantup.com/
https://atlas.hashicorp.com/
http://www.vagrantbox.es/
TEŞEKKÜRLER
SORULAR?
@mitchellh
@vigobronx
Kod.io 2014, Avusturya
DEMO

Vagrant 101