Commit 8cdd47dff9819478e0dca9b476d52fa1e991b009

Authored by Nei Jobson da Costa Carneiro
1 parent c1feca1d
Exists in master

Atualizações no manual para refletir melhorias feitas na página similar no Porta…

…l do SPB: https://softwarepublico.gov.br/social/sei/manuais/vagrant/sumario

- Ainda falta incluir imagem no lugar do seguinte trecho: [imagem_exemplo_alteracao_BIOS_permitir_VM]
Showing 1 changed file with 47 additions and 36 deletions   Show diff stats
1 -  
2 # Ambiente de Desenvolvimento - Vagrant 1 # Ambiente de Desenvolvimento - Vagrant
3 2
4 -O objetivo dessa documentação é descrever os procedimentos para preparar um ambiente de desenvolvimento ou testes do SEI de forma rápida e padronizada através do Vagrant. Essa ferramenta permite que seja provisionado automaticamente todo um ambiente funcional na máquina de trabalho do desenvolvedor, sem que seja necessário a instalação de servidores de aplicação e banco de dados pelo mesmo. Outra vantagem é que esse ambiente é completamente provisionado utilizando máquinas virtuais, necessitando que o desenvolvedor apenas configure sua IDE ou editor de texto preferido. 3 +O objetivo dessa documentação é descrever os procedimentos para preparar um ambiente de desenvolvimento ou testes do SEI de forma rápida e padronizada através do [Vagrant](https://www.vagrantup.com/ "Clique para acessar"). Essa ferramenta permite que seja provisionado automaticamente todo um ambiente funcional na máquina de trabalho do desenvolvedor, sem que seja necessário a instalação de servidores de aplicação e banco de dados pelo mesmo. Outra vantagem é que esse ambiente é completamente provisionado utilizando máquinas virtuais, necessitando que o desenvolvedor apenas configure sua IDE ou editor de texto preferido.
5 4
6 Antes, gostariamos de reforçar a necessidade que todo o desenvolvimento esteja alinhado com as diretivas e padrões de interface, codificação php e modelagem de banco de dados utilizados pelo SEI. A documentação dos padrões estão disponíveis na comunidade do SEI: 5 Antes, gostariamos de reforçar a necessidade que todo o desenvolvimento esteja alinhado com as diretivas e padrões de interface, codificação php e modelagem de banco de dados utilizados pelo SEI. A documentação dos padrões estão disponíveis na comunidade do SEI:
7 6
8 -* Documentação Técnica do SEI  
9 -* Padrão de Codificação PHP  
10 -* Padrão de Modelagem de Dados 7 +* [Documentação Técnica do SEI](https://softwarepublico.gov.br/social/sei/manuais/documentacao-de-apoio "Clique para acessar")
  8 +* [Padrão de Codificação PHP](https://softwarepublico.gov.br/social/sei/manuais/padrao-de-codificacao-php/sumario "Clique para acessar")
  9 +* [Padrão de Modelagem de Dados](https://softwarepublico.gov.br/social/sei/manuais/padrao-de-modelagem-de-dados/sumario "Clique para acessar")
11 10
12 -Outra fator importante de ser feito, antes do início dos trabalhos de desenvolvimento, é a indicação da demanda previamente aprovada (Lista de Demandas do Projeto), juntamente com a Especificação de Requisitos, para avaliação, revisão e aprovação do Comitê Gestor. De acordo com o padrão trabalho estabelecido, todos as novas funcionalidades que serão implementadas no SEI precisarão de uma aprovação prévia do Comitê Gestor para que possam ser implementadas e, posteriormente, homologadas e integradas ao sistema. 11 +Outra fator importante de ser feito, antes do início dos trabalhos de desenvolvimento, é a indicação da demanda previamente aprovada ([Lista de Demandas do Projeto](https://softwarepublico.gov.br/gitlab/groups/sei/issues?project_id=&scope=all&state=opened "Clique para acessar")), juntamente com a Especificação de Requisitos, para avaliação, revisão e aprovação do Comitê Gestor. De acordo com o padrão trabalho estabelecido, todos as novas funcionalidades que serão implementadas no SEI precisarão de uma aprovação prévia do Comitê Gestor para que possam ser implementadas e, posteriormente, homologadas e integradas ao sistema.
13 12
14 Voltando para à configuração do ambiente de desenvolvimento, as tecnologias utilizadas nesse trabalho foram as listadas abaixo. Sugerimos uma breve leitura de suas documentações para melhor entendimento. 13 Voltando para à configuração do ambiente de desenvolvimento, as tecnologias utilizadas nesse trabalho foram as listadas abaixo. Sugerimos uma breve leitura de suas documentações para melhor entendimento.
15 14
16 -* ​Virtual Box - https://www.virtualbox.org/  
17 -* ​Vagrant - https://www.vagrantup.com/  
18 -* ​Git - https://git-scm.com/ 15 +* Virtual Box - https://www.virtualbox.org/
  16 +* Vagrant - https://www.vagrantup.com/
  17 +* Git - https://git-scm.com/
19 18
20 Outros recursos para melhor entendimento das tecnologias citadas acima: 19 Outros recursos para melhor entendimento das tecnologias citadas acima:
21 20
@@ -34,28 +33,39 @@ O Vagrant trabalha com o conceito de Box, basicamente uma "imagem/iso" para se c @@ -34,28 +33,39 @@ O Vagrant trabalha com o conceito de Box, basicamente uma "imagem/iso" para se c
34 33
35 Para configurar o ambiente, será necessário a instalação dos seguintes pré-requisitos: 34 Para configurar o ambiente, será necessário a instalação dos seguintes pré-requisitos:
36 35
37 -* **VirtualBox**  
38 -Download: https://www.virtualbox.org/wiki/Download_Old_Builds_4_3 36 +* **VirtualBox** Download: https://www.virtualbox.org/wiki/Download_Old_Builds_4_3
39 37
40 -* **VirtualBox Extensions**  
41 -Download: http://download.virtualbox.org/virtualbox/4.3.30/Oracle_VM_VirtualBox_Extension_Pack-4.3.30-101610.vbox-extpack 38 +* **VirtualBox Extensions** Download: http://download.virtualbox.org/virtualbox/4.3.30/Oracle_VM_VirtualBox_Extension_Pack-4.3.30-101610.vbox-extpack
42 39
43 -* **Vagrant**  
44 -Download: https://www.vagrantup.com/downloads.html 40 +* **Vagrant** Download: https://www.vagrantup.com/downloads.html
45 41
46 -* **Git**  
47 -Download: https://git-scm.com/downloads 42 +* **Git** Download: https://git-scm.com/downloads
48 43
49 Todos os componentes acima precisam ser instalados na máquina de desenvolvimento, prestando atenção nas seguintes considerações: 44 Todos os componentes acima precisam ser instalados na máquina de desenvolvimento, prestando atenção nas seguintes considerações:
50 45
51 -O VirtualBox Extensions é instalado dentro do VirtualBox, acessando o menu File > Preferences > Extensions. Sugerimos a instalação do Git com a funcionalidade GitBash ativado. Essa ativação é feita pelo Wizard de instalação do software e ele permitirá o acesso direto ao prompt de comando das máquinas virtuais Linux, caso necessário.  
52 -  
53 -Feito a instalação dos pré-requisitos, siga os passos abaixo para ativar o ambiente virtual do SEI:  
54 - 46 +* O VirtualBox Extensions é instalado dentro do VirtualBox, acessando o menu File > Preferences > Extensions. Sugerimos a instalação do Git com a funcionalidade GitBash ativado. Essa ativação é feita pelo Wizard de instalação do software e ele permitirá o acesso direto ao prompt de comando das máquinas virtuais Linux, caso necessário.
55 47
56 ## CONFIGURAÇÃO DO AMBIENTE 48 ## CONFIGURAÇÃO DO AMBIENTE
57 49
58 -### 1) Via prompt de comandos, navegue até o diretório onde está contido os códigos-fontes do SEI. 50 +### 1) Proxy para acesso a internet
  51 +
  52 +Se a máquina localhost (desktop ou notebook) onde vai ser instalado o ambiente padrão de desenvolvimento depender de um proxy para acesso à Internet, é necessário antes configurar o proxy como variável de ambiente conforme abaixo:
  53 +
  54 + set http_proxy=http://proxy.anp.net:8080
  55 + set https_proxy=http://proxy.anp.net:8080
  56 +
  57 +Se o proxy exigir autenticação é necessário incluir o nome e senha do usuário, conforme este segundo exemplo:
  58 +
  59 + set http_proxy=http://<usuario>:<senha>@proxy.anp.net:8080
  60 + set https_proxy=http://<usuario>:<senha>@proxy.anp.net:8080
  61 +
  62 +### 2) BIOS da máquina aceitar VM
  63 +
  64 +É necessário que a BIOS da máquina localhost (desktop ou notebook) onde vai ser instalado o ambiente padrão de desenvolvimento esteja com a opção para aceitar virtualização habilitada. Vide exemplo:
  65 +
  66 + [imagem_exemplo_alteracao_BIOS_permitir_VM]
  67 +
  68 +### 3) Via prompt de comandos, navegue até o diretório onde está contido os códigos-fontes do SEI.
59 69
60 O diretório é o mesmo disponibilizado para instalação e dentro dele deve conter os seguintes diretórios: 70 O diretório é o mesmo disponibilizado para instalação e dentro dele deve conter os seguintes diretórios:
61 71
@@ -66,9 +76,10 @@ O diretório é o mesmo disponibilizado para instalação e dentro dele deve con @@ -66,9 +76,10 @@ O diretório é o mesmo disponibilizado para instalação e dentro dele deve con
66 /infra_js 76 /infra_js
67 77
68 Esses arquivos serão compartilhados para dentro das máquinas virtuais criada pelo Vagrant para ativação do sistema. 78 Esses arquivos serão compartilhados para dentro das máquinas virtuais criada pelo Vagrant para ativação do sistema.
  79 +
69 Com isso, as alterações feitas diretamente nos arquivos php durante do desenvolvimento refletirão de forma automática no ambiente que estará disponível em http://localhost/sei 80 Com isso, as alterações feitas diretamente nos arquivos php durante do desenvolvimento refletirão de forma automática no ambiente que estará disponível em http://localhost/sei
70 81
71 -### 2) Realizar a configuração inicial do Box do Vagrant/VirtualBox 82 +### 4) Realizar a configuração inicial do Box do Vagrant/VirtualBox
72 83
73 No diretório citado anteriormente, execute o seguinte comando: 84 No diretório citado anteriormente, execute o seguinte comando:
74 85
@@ -78,11 +89,11 @@ Esse comando irá criar uma arquivo de configuração iniciar para o vagrant con @@ -78,11 +89,11 @@ Esse comando irá criar uma arquivo de configuração iniciar para o vagrant con
78 89
79 Outra alternativa para configuração pode ambiente pode ser realizada pelos scripts utilitários criados no ambiente colaborativo. Vide seção INFORMAÇÕES ADICIONAIS >> 2) Scritps utilitários .bat. 90 Outra alternativa para configuração pode ambiente pode ser realizada pelos scripts utilitários criados no ambiente colaborativo. Vide seção INFORMAÇÕES ADICIONAIS >> 2) Scritps utilitários .bat.
80 91
81 -### 3) Iniciar o Ambiente de Desenvolvimento Virtualizado 92 +### 5) Iniciar o Ambiente de Desenvolvimento Virtualizado
82 93
83 -No mesmo diretório, execute o comando : 94 +No mesmo diretório, execute o comando:
84 95
85 -vagrant up 96 + vagrant up
86 97
87 Esse comando irá iniciar a construção do ambiente de desenvolvimento começando pelo download da Box processoeletronico/sei-2.6.0 contendo todo o ambiente preparado para o desenvolvimento. 98 Esse comando irá iniciar a construção do ambiente de desenvolvimento começando pelo download da Box processoeletronico/sei-2.6.0 contendo todo o ambiente preparado para o desenvolvimento.
88 99
@@ -97,7 +108,7 @@ Ao final da inicialização do ambiente de desenvolvimento, será apresentada a @@ -97,7 +108,7 @@ Ao final da inicialização do ambiente de desenvolvimento, será apresentada a
97 ===> default: sei_jod 108 ===> default: sei_jod
98 ===> default: sei_www 109 ===> default: sei_www
99 110
100 -### 4) Testar a Aplicação 111 +### 6) Testar a Aplicação
101 112
102 **SEI** 113 **SEI**
103 Após a finalização do provisionamento do ambiente e a apresentação das mensagens acima, o SEI estará disponível para testes na máquina local de desenvolvimento através do acesso ao endereço http://localhost/sei. O usuário para acesso será o login: teste / senha: teste, o mesmo configurado na base inicial do sistema. 114 Após a finalização do provisionamento do ambiente e a apresentação das mensagens acima, o SEI estará disponível para testes na máquina local de desenvolvimento através do acesso ao endereço http://localhost/sei. O usuário para acesso será o login: teste / senha: teste, o mesmo configurado na base inicial do sistema.
@@ -116,13 +127,9 @@ O componente chamado sei_db , apresentado logo após o provisionamento do ambien @@ -116,13 +127,9 @@ O componente chamado sei_db , apresentado logo após o provisionamento do ambien
116 127
117 Ex: mysql -h 127.0.0.1 -u root -p sei 128 Ex: mysql -h 127.0.0.1 -u root -p sei
118 129
119 -**Apache Solr**  
120 -O Apache Solr também estará disponível para testes e poderá ser acessado pelo endereço http://localhost:8983/solr  
121 -  
122 -**JOD Converter**  
123 -O JOD Converter também estará disponível para testes e poderá ser acesso pelo enderelo http://localhost:8080  
124 -  
125 - 130 +* **Apache Solr** O Apache Solr também estará disponível para testes e poderá ser acessado pelo endereço: http://localhost:8983/solr
  131 +* **JOD Converter** O JOD Converter também estará disponível para testes e poderá ser acesso pelo endereço: http://localhost:8080
  132 +* **Serviço SMTP para visualizar e-mails enviados** O ambiente de desenvolvimento possui um serviço SMTP próprio para disparar os e-mails do sistema. Para visualizar os e-mails enviados acesse: http://localhost:1080
126 133
127 ## INFORMAÇÕES ADICIONAIS 134 ## INFORMAÇÕES ADICIONAIS
128 135
@@ -147,10 +154,14 @@ Reinicia todo o ambiente de desenvolvimento e sua máquina virtual. @@ -147,10 +154,14 @@ Reinicia todo o ambiente de desenvolvimento e sua máquina virtual.
147 154
148 Como o nome diz, destroi todo o ambiente de desenvolvimento utilizado até o momento, apagando todas as informações persistidas no banco de dados. A simples execução do comando vagrant up reconstrói um novo ambiente limpo para o sistema SEI. 155 Como o nome diz, destroi todo o ambiente de desenvolvimento utilizado até o momento, apagando todas as informações persistidas no banco de dados. A simples execução do comando vagrant up reconstrói um novo ambiente limpo para o sistema SEI.
149 156
  157 + vagrant box update
  158 +
  159 +Atualizar o vagrant com nova imagem da VM atualizada com correções ou evoluções:
  160 +
  161 +
150 #### 2) Scritps utilitários .bat 162 #### 2) Scritps utilitários .bat
151 Para simplificar a operação do ambiente virtual no Windows, o NeiJobson/Anatel criou os seguintes scripts .bat que estão disponíveis no ambiente colaborativo do SEI (https://softwarepublico.gov.br/gitlab/sei/sei-vagrant/tree/master​). Eles poderão ser baixados e copiados para o diretório onde está o código-fonte do sistema, cada um com as seguintes funções: 163 Para simplificar a operação do ambiente virtual no Windows, o NeiJobson/Anatel criou os seguintes scripts .bat que estão disponíveis no ambiente colaborativo do SEI (https://softwarepublico.gov.br/gitlab/sei/sei-vagrant/tree/master​). Eles poderão ser baixados e copiados para o diretório onde está o código-fonte do sistema, cada um com as seguintes funções:
152 164
153 -  
154 ---------- 165 ----------
155 166
156 167
@@ -184,4 +195,4 @@ Download:https://softwarepublico.gov.br/gitlab/sei/sei-vagrant/raw/master/parar_ @@ -184,4 +195,4 @@ Download:https://softwarepublico.gov.br/gitlab/sei/sei-vagrant/raw/master/parar_
184 destruir_VM_Dev_Localhost_SEI.bat 195 destruir_VM_Dev_Localhost_SEI.bat
185 196
186 Como o nome diz, destroi todo o ambiente de desenvolvimento utilizado até o momento, apagando todas as informações persistidas no banco de dados. A simples execução do comando vagrant up reconstrói um novo ambiente limpo para o sistema SEI. Semelhante ao comando vagrant destroy. 197 Como o nome diz, destroi todo o ambiente de desenvolvimento utilizado até o momento, apagando todas as informações persistidas no banco de dados. A simples execução do comando vagrant up reconstrói um novo ambiente limpo para o sistema SEI. Semelhante ao comando vagrant destroy.
187 -Download: https://softwarepublico.gov.br/gitlab/sei/sei-vagrant/raw/master/destruir_VM_Dev_Localhost_SEI.bat 198 -Download: https://softwarepublico.gov.br/gitlab/sei/sei-vagrant/raw/master/destruir_VM_Dev_Localhost_SEI.bat
  199 +Download: https://softwarepublico.gov.br/gitlab/sei/sei-vagrant/raw/master/destruir_VM_Dev_Localhost_SEI.bat
188 \ No newline at end of file 200 \ No newline at end of file