Commit 5fdca814f1c9a49f7ab5b702722bf0e47705b86e

Authored by Nei Jobson da Costa Carneiro
1 parent 8753facf

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
README.md
1   -
2 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 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 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 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 33  
35 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 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 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 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 76 /infra_js
67 77  
68 78 Esses arquivos serão compartilhados para dentro das máquinas virtuais criada pelo Vagrant para ativação do sistema.
  79 +
69 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 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 89  
79 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 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 108 ===> default: sei_jod
98 109 ===> default: sei_www
99 110  
100   -### 4) Testar a Aplicação
  111 +### 6) Testar a Aplicação
101 112  
102 113 **SEI**
103 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 127  
117 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 134 ## INFORMAÇÕES ADICIONAIS
128 135  
... ... @@ -147,10 +154,14 @@ Reinicia todo o ambiente de desenvolvimento e sua máquina virtual.
147 154  
148 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 162 #### 2) Scritps utilitários .bat
151 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 195 destruir_VM_Dev_Localhost_SEI.bat
185 196  
186 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 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 200 \ No newline at end of file
... ...