Mais conteúdo relacionado Semelhante a Minicurso de Vagrant (20) Minicurso de Vagrant4. O QUE É
NECESSÁRIO
PARA INICIAR UM
PROJETO?
8. O QUE É PRECISO
PARA UTILIZAR O
VAGRANT?
9. UMA MÁQUINA HOST
Maquina para instalar o vagrant – Máquina de Desenvolvimento
VAGRANT
www.vagrantup.com
PROVIDER
Gerenciador de Máquinas Virtuais
28. $ vagrant init
$ vagrant box
$ vagrant up
$ vagrant ssh
$ vagrant halt
30. $ vagrant up
$ vagrant ssh
$ sudo apt-get update
$ sudo apt-get –y install postgresql
$ sudo apt-get –y install nginx
$ sudo apt-get –y install php
$ sudo apt-get –y uninstall php
$ sudo apt-get –y install ruby
31. $ vagrant up
$ vagrant ssh
$ sudo apt-get update
$ which nginx
$ sudo apt-get –y install nginx
$ which nginx
36. SYNCED FOLDERS
AS MODIFICAÇÕES
SÃO REFLETIDAS EM
TEMPO REAL ENTRE
AS MAQUINAS HOST E
GUEST
37. $ echo "Mini Curso de Vagrant" > hello_world.txt
$ cat hello_world.txt
$ vagrant ssh
$ cd /vagrant
$ ls
$ cat hello_world.txt
39. NETWORK
UMA REDE NAT É
CRIADA POR DEFAULT.
A REDE PRIVADA
PERMITE ACESSO DE
OUTROS DISPOSITIVOS
NA MESMA REDE.
40. $ vagrant destroy
$ cd ../
$ rm –r mini-curso-vagrant
$ git clone git@github.com:LeandroSNunes/mini-curso-
vagrant.git
$ cd mini-curso-vagrant
$ git fetch origin step1
$ git checkout step1
$ git commit –am “update”
41. VagrantFile
config.vm.network :private_network, ip: "192.168.33.30”
config.vm.network :forwarded_port, guest: 3000, host: 3000
config.vm.network :forwarded_port, guest: 3306, host: 3306
config.vm.post_up_message = ”Mini curso de vagrantn IP: 192.168.33.30"
42. $ vagrant up
$ vagrant ssh
$ sudo apt-get update
$ sudo apt-get –y install nginx
$ sudo service nginx start
48. 1 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
2 config.vm.box = "leandrosnunes/precise64"
3
4 config.vm.define :development do |dev|
5 dev.vm.network "private_network", ip: "192.168.33.30"
6 dev.vm.network :forwarded_port, guest: 3306, host: 3306 # mysql
7
8 dev.vm.post_up_message = "Dev mini curso de vagrantn IP: 192.168.33.30"
9 end
10
11 config.vm.define :production do |pro|
12 pro.vm.network "private_network", ip: "192.168.33.31"
13
14 pro.vm.post_up_message = "Prod mini curso de vagrantn IP: 192.168.33.31"
15 end
16 end
49. $ vagrant up
$ vagrant up development
$ vagrant up production
$ vagrant ssh
$ vagrant ssh development
$ vagrant ssh production
50. $ vagrant destroy
$ vagrant destroy development
$ vagrant destroy production
$ vagrant halt
$ vagrant halt development
$ vagrant halt production
53. 1 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
2 config.vm.box = "leandrosnunes/precise64"
3
4 config.vm.define :development do |dev|
5 dev.vm.network "private_network", ip: "192.168.33.30"
6 dev.vm.network :forwarded_port, guest: 3306, host: 3306 # mysql
7
8 dev.vm.provider "virtualbox" do |vb|
9 vb.customize ["modifyvm", :id, "--memory", "1024"]
10 vb.customize ["modifyvm", :id, "--cpus", "1"]
11 end
12
13 dev.vm.post_up_message = "Dev mini curso de vagrantn IP: 192.168.33.30"
14 end
15
16 config.vm.define :production do |pro|
17 pro.vm.network "private_network", ip: "192.168.33.31"
18
19 pro.vm.provider "virtualbox" do |vb|
20 vb.customize ["modifyvm", :id, "--memory", "1024"]
21 vb.customize ["modifyvm", :id, "--cpus", "2"]
22 end
23
24 pro.vm.post_up_message = "Prod mini curso de vagrantn IP: 192.168.33.31"
25 end
26 end
56. development
1 dev.vm.provision :puppet do |puppet|
2 puppet.module_path = "modules"
3 puppet.manifest_file = "development.pp"
4 puppet.options = "--verbose --debug"
5 end
production
1 pro.vm.provision :puppet do |puppet|
2 puppet.module_path = "modules"
3 puppet.manifest_file = "production.pp"
4 end
65. $ vagrant install plugin vagrant-vbguest
$ vagrant install vagrant-librarian-puppet
68. VAGRANT OPEN SOURCE
Github: https://github.com/mitchellh/vagrant
IRC: #vagrant
Google Groups: vagrant-up