Pular para o conteúdo principal

Plugins Vagrant

· Leitura de 5 minutos

Olá a todos, criei este post para explicar o que é um Plugin no Vagrant, como instalá-los e utilizá-los correctamente no nosso ficheiro vagabundo; Este post será actualizado à medida que eu for obtendo mais informações sobre outros plugins

Para começar, vamos dar uma vista de olhos a um simples ficheiro vagabundo contendo uma caixa do Windows Server 2019:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

config.vm.box = "mcree/win2019"
config.vm.box_version = "1.0.1584095692"

config.vm.provider "virtualbox" do |v|
v.name = "Windows Server 2019"
v.memory = "2048"
end

config.vm.provision "shell", inline: <<-SHELL

SHELL

Isto é apenas para lhe dar uma visão de um ficheiro vagabundo muito simples contendo apenas a caixa, o nome do vm, a memória RAM e um terminal de concha pronto a usar.

Vamos prosseguir!

Recarregar

Para que serve carga ?

Bem, usar recarregar no seu ficheiro vagabundo é o mesmo que fazer uma reinicialização na sua máquina;

Portanto, vamos colocar isto em contexto;

Digamos que instalámos Chocolatey e queremos utilizá-lo para instalar o git.

Bem, isso é fácil, mas não podemos fazê-lo de imediato porque, uma vez que o vm não foi recarregado (reiniciado), não pode ter em conta a modificação feita anteriormente;

Por isso, para corrigir isto, precisamos de adicionar um dispositivo de recarga ao nosso ficheiro vagabundo!

config.vm.provision :reload

O comando acima é o que precisamos de acrescentar ao nosso vagrantfile* mas não o podemos utilizar se não estiver instalado.

Assim, para instalar o reload* porvisionador, abrir um terminal Powershell e digitar:

vagrant plugin install vagrant-reload

Isto instalará o plugin que lhe permitirá utilizar o reload provisionador no nosso ficheiro vagabundo;

Lembra-se do nosso simples ficheiro de vagabundagem? Vamos dar uma vista de olhos ao aspecto do ficheiro vagabundo com a instalação de Chocolatey:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

config.vm.box = "mcree/win2019"
config.vm.box_version = "1.0.1584095692"

config.vm.provider "virtualbox" do |v|
v.name = "Windows Server 2019"
v.memory = "2048"
end

config.vm.provision "shell", inline: <<-SHELL

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

SHELL

No nosso ficheiro vagabundo acima, instalamos Chocolatey. Mas, lembrem-se, queremos usá-lo para instalar as nossas ferramentas e sem recarregar o vm isto não será possível!

O que vamos fazer é, recarregar após a instalação de Chocolatey e depois de recarregar onde vai abrir um novo Provisor de terminal de Chocolatey para que possamos instalar Git usando Chocolatey;

Portanto, vamos dar uma vista de olhos ao nosso ficheiro vagabundo e ver como tudo isto funciona, colocando o Git em conjunto:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

config.vm.box = "mcree/win2019"
config.vm.box_version = "1.0.1584095692"

config.vm.provider "virtualbox" do |v|
v.name = "Windows Server 2019"
v.memory = "2048"
end

config.vm.provision "shell", inline: <<-SHELL

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

SHELL

config.vm.provision :reload

config.vm.provision "shell", inline: <<-SHELL

choco install git -y

SHELL

Óptimo! Conseguimos a instalação do plugin e a recarga bem sucedida do nosso vm !

Tamanho do disco

Outro plugin útil é o TamanhoDisk*!

Este plugin permitir-nos-á gerir o tamanho do disco do nosso vm (todos os que usam o Vagrant sabem que esta é uma questão sensata :) )

Como vimos anteriormente, precisamos primeiro de instalar o plugin directamente na nossa máquina para o podermos utilizar no nosso ficheiro vagabundo.

Portanto, copiar colar o seguinte:

vagrant plugin install vagrant-disksize

Óptimo, o plugin está instalado e pronto para ser posto a funcionar!

Vamos ver como fica:

config.disksize.size = '40GB'

Como podem ver, quero ter um disco de 40gb de tamanho. mas onde o devemos colocar? Vamos dar uma vista de olhos a um ficheiro básico vagabundo:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

config.vm.box = "mcree/win2019"
config.vm.box_version = "1.0.1584095692"

config.vm.provider "virtualbox" do |v|
v.name = "Windows Server 2019"
v.memory = "2048"
end

Muito simples e básico ficheiro vagabundo, mas falta qualquer coisa! Onde está o tamanho do disco*?

Bem, uma vez que faz parte da configuração do vm, vamos colocá-lo logo após a caixa do vm:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

config.vm.box = "mcree/win2019"
config.vm.box_version = "1.0.1584095692"
wvm.disksize.size = "40GB"

config.vm.provider "virtualbox" do |v|
v.name = "Windows Server 2019"
v.memory = "2048"
end

E aí está! Pode agora criar vm's com a quantidade de tamanho de disco que desejar :)

NOTE: Se iniciar o seu vm e verificar que o seu vm de janelas não tem o tamanho de disco que atribuiu e provavelmente só tem até 20gb de tamanho de disco.

A outra quantidade não é atribuída à partição certa. Para corrigir isto, vamos digitar o seguinte comando em uma Powershell: (não se esqueça no fim da linha de comando de adicionar o seu GB, no meu caso dei 40gb por isso vou colocar 39 no fim do comando)

Resize-Partition -DriveLetter C -Size 39gb

Espero vê-lo em breve no próximo post :)