Commit 46d6a0d59454bc090327738e897289632ad6022f

Authored by Guilherme Andrade Del Cantoni
1 parent 88955b1d

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

Vagrantfile
... ... @@ -8,58 +8,38 @@ VAGRANTFILE_API_VERSION = "2"
8 8 # Parâmetros de customização do ambiente de desenvolvimento
9 9 params = if File.exists?("Vagrantfile.conf") then YAML::load_file("Vagrantfile.conf") else {} end
10 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 11 params_memoria_vm = params["memoria_vm"] || "1024"
14 12  
15 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 15 # Atribuição do hostname da máquina virtual
21 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 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 20 # Configuração do redirecionamento entre Máquina Virtual e Host
36 21 # Necessário permissões de root para utilizar a porta 80 (> 1024)
37 22 config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)
38 23 config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
39 24 config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
40 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 28 # Diretórios compartilhados com a durante a execução
43 29 config.vm.synced_folder ".", "/mnt/sei/ops"
44 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 32 # Provider-specific configuration so you can fine-tune various
49 33 # backing providers for Vagrant. These expose provider-specific options.
50 34 config.vm.provider "virtualbox" do |vb|
51   - # Don't boot with headless mode
52 35 # vb.gui = true
53 36 # Use VBoxManage to customize the VM. For example to change memory:
54 37 vb.customize ["modifyvm", :id, "--memory", params_memoria_vm, "--usb", "off", "--audio", "none"]
55 38 end
56 39  
57 40 config.vm.provision "shell",
58   - #args: [File.basename(params_script_sei), File.basename(params_script_sip)],
59 41 inline: <<SCRIPT
60 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 43 cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /mnt/sei/src/sei/ConfiguracaoSEI.php
64 44 cp /mnt/sei/ops/sei/ConfiguracaoSip.php /mnt/sei/src/sip/ConfiguracaoSip.php
65 45 SCRIPT
... ... @@ -73,15 +53,9 @@ SCRIPT
73 53 docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'"
74 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 57 daemonize: true,
84   - args: "-p 2525:25"
  58 + args: "-p 1080:1080"
85 59  
86 60 # docker run -d --name sei_db -p 3306:3306 processoeletronico/mysql:latest
87 61 docker.run "sei_db", image: "processoeletronico/mysql:latest",
... ... @@ -104,10 +78,7 @@ SCRIPT
104 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 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 81 # Inicialização dos containers em caso de reinicialização da máquina host
111 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 84 end
... ...
Vagrantfile_Distrib
... ... @@ -23,7 +23,8 @@ Vagrant.configure(2) do |config|
23 23 config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
24 24 config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
25 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 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 30 end
... ...
sei/ConfiguracaoSEI.php
... ... @@ -109,8 +109,8 @@ class ConfiguracaoSEI extends InfraConfiguracao {
109 109  
110 110 'InfraMail' => array(
111 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 114 'Codificacao' => '8bit', //8bit, 7bit, binary, base64, quoted-printable
115 115 'Autenticar' => false, //se true então informar Usuario e Senha
116 116 'Usuario' => '',
... ...