Commit 9959e5f23ef73e484c7cd1696c6141084afb70d7

Authored by Guilherme Andrade Del Cantoni
1 parent 8d252bd1
Exists in master

Implementação do conteiner do servidor SMTP de testes - Mailcatcher

@@ -8,58 +8,38 @@ VAGRANTFILE_API_VERSION = "2" @@ -8,58 +8,38 @@ VAGRANTFILE_API_VERSION = "2"
8 # Parâmetros de customização do ambiente de desenvolvimento 8 # Parâmetros de customização do ambiente de desenvolvimento
9 params = if File.exists?("Vagrantfile.conf") then YAML::load_file("Vagrantfile.conf") else {} end 9 params = if File.exists?("Vagrantfile.conf") then YAML::load_file("Vagrantfile.conf") else {} end
10 params_source_dir = params["source_dir"] || "../sei" 10 params_source_dir = params["source_dir"] || "../sei"
11 -#params_script_sei = params["script_sei"] || "../sei-db-ref-executivo/mysql/sei_2_6_0_BD_Ref_Exec.sql"  
12 -#params_script_sip = params["script_sip"] || "../sei-db-ref-executivo/mysql/sip_2_6_0_BD_Ref_Exec.sql"  
13 params_memoria_vm = params["memoria_vm"] || "1024" 11 params_memoria_vm = params["memoria_vm"] || "1024"
14 12
15 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 13 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
16 - # All Vagrant configuration is done here. The most common configuration  
17 - # options are documented and commented below. For a complete reference,  
18 - # please see the online documentation at vagrantup.com.  
19 14
20 # Atribuição do hostname da máquina virtual 15 # Atribuição do hostname da máquina virtual
21 config.vm.hostname = "sei-vagrant" 16 config.vm.hostname = "sei-vagrant"
22 17
23 - # Every Vagrant virtual environment requires a box to build off of.  
24 - # config.vm.box_download_checksum = "76a2a61de2d89f6cfd4d795e57cc4406"  
25 - # config.vm.box_download_checksum_type = "md5"  
26 - # config.vm.box = "minimum/centos-7-docker"  
27 - # config.vm.box = "centos/7"  
28 config.vm.box = "ubuntu/trusty64" 18 config.vm.box = "ubuntu/trusty64"
29 19
30 - # Disable automatic box update checking. If you disable this, then  
31 - # boxes will only be checked for updates when the user runs  
32 - # `vagrant box outdated`. This is not recommended.  
33 - # config.vm.box_check_update = true  
34 -  
35 # Configuração do redirecionamento entre Máquina Virtual e Host 20 # Configuração do redirecionamento entre Máquina Virtual e Host
36 # Necessário permissões de root para utilizar a porta 80 (> 1024) 21 # Necessário permissões de root para utilizar a porta 80 (> 1024)
37 config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache) 22 config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)
38 config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql) 23 config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
39 config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat) 24 config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
40 config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty) 25 config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)
  26 + config.vm.network :forwarded_port, guest: 1080, host: 1080 # MailCatcher
41 27
42 # Diretórios compartilhados com a durante a execução 28 # Diretórios compartilhados com a durante a execução
43 config.vm.synced_folder ".", "/mnt/sei/ops" 29 config.vm.synced_folder ".", "/mnt/sei/ops"
44 config.vm.synced_folder params_source_dir, "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"] 30 config.vm.synced_folder params_source_dir, "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]
45 - # config.vm.synced_folder File.dirname(params_script_sei), "/mnt/sei/db_sei"  
46 - # config.vm.synced_folder File.dirname(params_script_sip), "/mnt/sei/db_sip"  
47 31
48 # Provider-specific configuration so you can fine-tune various 32 # Provider-specific configuration so you can fine-tune various
49 # backing providers for Vagrant. These expose provider-specific options. 33 # backing providers for Vagrant. These expose provider-specific options.
50 config.vm.provider "virtualbox" do |vb| 34 config.vm.provider "virtualbox" do |vb|
51 - # Don't boot with headless mode  
52 # vb.gui = true 35 # vb.gui = true
53 # Use VBoxManage to customize the VM. For example to change memory: 36 # Use VBoxManage to customize the VM. For example to change memory:
54 vb.customize ["modifyvm", :id, "--memory", params_memoria_vm, "--usb", "off", "--audio", "none"] 37 vb.customize ["modifyvm", :id, "--memory", params_memoria_vm, "--usb", "off", "--audio", "none"]
55 end 38 end
56 39
57 config.vm.provision "shell", 40 config.vm.provision "shell",
58 - #args: [File.basename(params_script_sei), File.basename(params_script_sip)],  
59 inline: <<SCRIPT 41 inline: <<SCRIPT
60 mkdir -p /mnt/sei/ops/mysql/.tmp/ 42 mkdir -p /mnt/sei/ops/mysql/.tmp/
61 - #cp /mnt/sei/db_sei/$1 /mnt/sei/ops/mysql/.tmp/sei_mysql.sql  
62 - #cp /mnt/sei/db_sip/$2 /mnt/sei/ops/mysql/.tmp/sip_mysql.sql  
63 cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /mnt/sei/src/sei/ConfiguracaoSEI.php 43 cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /mnt/sei/src/sei/ConfiguracaoSEI.php
64 cp /mnt/sei/ops/sei/ConfiguracaoSip.php /mnt/sei/src/sip/ConfiguracaoSip.php 44 cp /mnt/sei/ops/sei/ConfiguracaoSip.php /mnt/sei/src/sip/ConfiguracaoSip.php
65 SCRIPT 45 SCRIPT
@@ -73,15 +53,9 @@ SCRIPT @@ -73,15 +53,9 @@ SCRIPT
73 docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'" 53 docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'"
74 docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'" 54 docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'"
75 55
76 - # Provisiona docker containers na máquina virtual  
77 - # docker run -it --name sei_data -v /mnt/sei/arquivos:/var/sei/arquivos centos:centos6 true  
78 - # docker.run "sei_data", image: "centos:centos6",  
79 - # args: "-v /mnt/sei/arquivos:/var/sei/arquivos",  
80 - # cmd: "true"  
81 -  
82 - docker.run "sei_smtp", image: "munkyboy/fakesmtp", 56 + docker.run "sei_smtp", image: "schickling/mailcatcher",
83 daemonize: true, 57 daemonize: true,
84 - args: "-p 2525:25" 58 + args: "-p 1080:1080"
85 59
86 # docker run -d --name sei_db -p 3306:3306 processoeletronico/mysql:latest 60 # docker run -d --name sei_db -p 3306:3306 processoeletronico/mysql:latest
87 docker.run "sei_db", image: "processoeletronico/mysql:latest", 61 docker.run "sei_db", image: "processoeletronico/mysql:latest",
@@ -104,10 +78,7 @@ SCRIPT @@ -104,10 +78,7 @@ SCRIPT
104 args: "-p 80:80 --link sei_db:db --link sei_solr:solr --link sei_jod:jod --link sei_smtp:smtp -v /mnt/sei/src:/mnt/sei/src" 78 args: "-p 80:80 --link sei_db:db --link sei_solr:solr --link sei_jod:jod --link sei_smtp:smtp -v /mnt/sei/src:/mnt/sei/src"
105 end 79 end
106 80
107 - # Limpeza de arquivos temporários criados durante o provisionamento do sistema  
108 - # config.vm.provision "shell", inline: "rm -rf /mnt/sei/ops/mysql/.tmp"  
109 -  
110 # Inicialização dos containers em caso de reinicialização da máquina host 81 # Inicialização dos containers em caso de reinicialização da máquina host
111 # A inicialização é realizada de forma sequencial para evitar conflito no mapeamento de volumes no Docker 82 # A inicialização é realizada de forma sequencial para evitar conflito no mapeamento de volumes no Docker
112 - config.vm.provision "shell", run: "always", inline: "docker restart sei_solr && docker restart sei_jod && docker restart sei_db && docker restart sei_www" 83 + config.vm.provision "shell", run: "always", inline: "docker restart sei_solr && docker restart sei_jod && docker restart sei_smtp && docker restart sei_db && docker restart sei_www"
113 end 84 end
Vagrantfile_Distrib
@@ -23,7 +23,8 @@ Vagrant.configure(2) do |config| @@ -23,7 +23,8 @@ Vagrant.configure(2) do |config|
23 config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql) 23 config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
24 config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat) 24 config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
25 config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty) 25 config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)
  26 + config.vm.network :forwarded_port, guest: 1080, host: 1080 # MailCatcher
26 27
27 # Inicialização dos containers em caso de reinicialização da máquina host 28 # Inicialização dos containers em caso de reinicialização da máquina host
28 - config.vm.provision "shell", run: "always", inline: "docker restart sei_solr && docker restart sei_jod && docker restart sei_db && docker restart sei_www" 29 + config.vm.provision "shell", run: "always", inline: "docker restart sei_solr && docker restart sei_jod && docker restart sei_smtp && docker restart sei_db && docker restart sei_www"
29 end 30 end
sei/ConfiguracaoSEI.php
@@ -109,8 +109,8 @@ class ConfiguracaoSEI extends InfraConfiguracao { @@ -109,8 +109,8 @@ class ConfiguracaoSEI extends InfraConfiguracao {
109 109
110 'InfraMail' => array( 110 'InfraMail' => array(
111 'Tipo' => '2', //1 = sendmail (neste caso não é necessário configurar os atributos abaixo), 2 = SMTP 111 'Tipo' => '2', //1 = sendmail (neste caso não é necessário configurar os atributos abaixo), 2 = SMTP
112 - 'Servidor' => getenv("JOD_PORT_8080_TCP_ADDR"),  
113 - 'Porta' => getenv("JOD_PORT_8080_TCP_PORT"), 112 + 'Servidor' => getenv("SMTP_PORT_1025_TCP_ADDR"),
  113 + 'Porta' => getenv("SMTP_PORT_1025_TCP_PORT"),
114 'Codificacao' => '8bit', //8bit, 7bit, binary, base64, quoted-printable 114 'Codificacao' => '8bit', //8bit, 7bit, binary, base64, quoted-printable
115 'Autenticar' => false, //se true então informar Usuario e Senha 115 'Autenticar' => false, //se true então informar Usuario e Senha
116 'Usuario' => '', 116 'Usuario' => '',