forked from pengovbr/sei-vagrant
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVagrantfile_Distrib
69 lines (59 loc) · 3.1 KB
/
Vagrantfile_Distrib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Alerta para instalação e configuração do plugin vbguest para atualização do
# VirtualBox Guest Additions
unless Vagrant.has_plugin?("vagrant-vbguest")
warn "\n\n**********************************************************\n\n"+
" ATENÇAO !!! \n\n"+
"Não foi localizado o plugin vagrant-vbguest na máquina host. \n\n"+
"Recomendamos seu uso para evitar incompatibilidades de versões \n"+
"entre o Virtualbox e VBGuest Addition, impactando o \n"+
"compartilhamento de pastas. \n\n"+
"Para solucionar o problema, execute o seguinte comando no \n"+
"diretório raiz do projeto. \n\n"+
"> vagrant plugin install vagrant-vbguest \n"+
"\n********************************************************** \n\n"+
" Pressione ENTER para continuar ou (Ctrl + C) para finalizar ... \n\n"
$stdin.gets; puts "\n"
end
Vagrant.configure(2) do |config|
# # Instalação de plugin para configuração automática do disco
required_plugins = %w( vagrant-vbguest vagrant-disksize )
_retry = false
required_plugins.each do |plugin|
unless Vagrant.has_plugin? plugin
system "vagrant plugin install #{plugin}"
_retry=true
end
end
if (_retry)
exec "vagrant " + ARGV.join(' ')
end
# Box do vagrant contendo o ambiente de desenvolvimento do SEI
config.vm.box = "{{.BoxName}}"
config.disksize.size = "100GB"
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "4096", "--usb", "off", "--audio", "none"]
end
# Configuração do diretório local onde deverá estar disponibilizado os códigos-fontes do SEI (sei, sip, infra_php, infra_css, infra_js)
config.vm.synced_folder ".", "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]
# Usuários ssh de acesso à máquina virtual
# config.ssh.private_key_path = "~/.ssh/id_rsa"
# config.ssh.forward_agent = true
# config.ssh.keys_only = false
# config.ssh.insert_key = true
# config.ssh.username = "vagrant"
# config.ssh.password = "vagrant"
# Configuração do redirecionamento entre Máquina Virtual e Host
# Necessário permissões de root para utilizar a porta 80 (> 1024)
config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)
config.vm.network :forwarded_port, guest: 1521, host: 1521 # Banco de Dados (Oracle)
config.vm.network :forwarded_port, guest: 1433, host: 1433 # Banco de Dados (SQL Server)
config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)
config.vm.network :forwarded_port, guest: 1080, host: 1080 # MailCatcher
# Inicialização dos containers em caso de reinicialização da máquina host
config.vm.provision "shell", run: "always", inline: "/bin/systemctl start docker.service"
config.vm.provision "shell", run: "always", inline: "/usr/local/bin/docker-compose up -d"
end