Commit 40fcac6905ed6148e069b840fb279117071a6c7a
1 parent
6d981cf1
Exists in
master
Atualização da documentação do projeto
Showing
1 changed file
with
10 additions
and
6 deletions
Show diff stats
README.md
1 | -# Ambiente de Desenvolvimento - Vagrant | 1 | +# Ambiente de Desenvolvimento - Vagrant e Docker |
2 | 2 | ||
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. | 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") e [Docker](https://www.docker.com). Essas ferramentas permitem 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. |
4 | 4 | ||
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: | 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: |
6 | 6 | ||
@@ -12,8 +12,9 @@ Outra fator importante de ser feito, antes do início dos trabalhos de desenvolv | @@ -12,8 +12,9 @@ Outra fator importante de ser feito, antes do início dos trabalhos de desenvolv | ||
12 | 12 | ||
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. | 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. |
14 | 14 | ||
15 | -* VirtualBox - https://www.virtualbox.org/ | ||
16 | * Vagrant - https://www.vagrantup.com/ | 15 | * Vagrant - https://www.vagrantup.com/ |
16 | +* Docker - https://www.docker.com/ | ||
17 | +* VirtualBox - https://www.virtualbox.org/ | ||
17 | * Git - https://git-scm.com/ | 18 | * Git - https://git-scm.com/ |
18 | 19 | ||
19 | Outros recursos para melhor entendimento das tecnologias citadas acima: | 20 | Outros recursos para melhor entendimento das tecnologias citadas acima: |
@@ -23,6 +24,12 @@ Outros recursos para melhor entendimento das tecnologias citadas acima: | @@ -23,6 +24,12 @@ Outros recursos para melhor entendimento das tecnologias citadas acima: | ||
23 | * http://pt.slideshare.net/RenanMartinsPimentel/vagrant-26647815 | 24 | * http://pt.slideshare.net/RenanMartinsPimentel/vagrant-26647815 |
24 | * http://pt.slideshare.net/rogeriopradoj/desenvolvimento-php-com-vagrant-15511228 | 25 | * http://pt.slideshare.net/rogeriopradoj/desenvolvimento-php-com-vagrant-15511228 |
25 | 26 | ||
27 | +O provisionamento dos componentes do sistema é implementado através da plataforma de containers do [Docker](https://www.docker.com), portanto, as imagens dos containers | ||
28 | +podem ser reutilizados isoladamente em outras configurações de infraestrutura para testes, sendo que todos os containers utilizados neste projeto estão publicados no [DockerHub](https://hub.docker.com/r/guilhermeadc/). Um exemplo de utilização dos container do Docker para preparação de ambiente de desenvolvimento do SEI pode ser visto no arquivo [docker-compose.yml](https://github.com/guilhermeadc/sei-vagrant/blob/master/docker-compose.yml) utilizado internamento pelo projeto. | ||
29 | + | ||
30 | +O Docker utiliza recursos do Kernel do Linux para gerenciar o isolamento provido pelos container, o que obriga a utilização deste sistema operacional para uso da "virtualização". Para resolver esta limitação é utilizado o Vagrant, responsável por criar uma virtualização para servir de host para o Docker e permitir sua utilização em outr | ||
31 | +os Sistemas Operacionais, como Windows e MacOS. Sua função é semelhante ao provido pelos projetos [Boot2Docker](http://boot2docker.io/) e [Docker Machine](https://docs.docker.com/machine/). | ||
32 | + | ||
26 | Em resumo, o Vagrant é uma ferramenta que permite a construção de máquinas virtuais para desenvolvimento sem que seja necessário a instalação de todos os componentes da infraestrutura (banco de dados, bibliotecas, servidores web, etc) na máquina do desenvolvedor. Entre as vantagens em sua utilização estão: | 33 | Em resumo, o Vagrant é uma ferramenta que permite a construção de máquinas virtuais para desenvolvimento sem que seja necessário a instalação de todos os componentes da infraestrutura (banco de dados, bibliotecas, servidores web, etc) na máquina do desenvolvedor. Entre as vantagens em sua utilização estão: |
27 | 34 | ||
28 | * Rápido início do projeto de desenvolvimento ou testes por parte do desenvolvedor; | 35 | * Rápido início do projeto de desenvolvimento ou testes por parte do desenvolvedor; |
@@ -34,11 +41,8 @@ O Vagrant trabalha com o conceito de Box, basicamente uma "imagem/iso" para se c | @@ -34,11 +41,8 @@ O Vagrant trabalha com o conceito de Box, basicamente uma "imagem/iso" para se c | ||
34 | Para configurar o ambiente, será necessário a instalação dos seguintes pré-requisitos: | 41 | Para configurar o ambiente, será necessário a instalação dos seguintes pré-requisitos: |
35 | 42 | ||
36 | * **VirtualBox** Download: https://www.virtualbox.org/wiki/Downloads | 43 | * **VirtualBox** Download: https://www.virtualbox.org/wiki/Downloads |
37 | - | ||
38 | * **VirtualBox Extensions** Download: https://www.virtualbox.org/wiki/Downloads | 44 | * **VirtualBox Extensions** Download: https://www.virtualbox.org/wiki/Downloads |
39 | - | ||
40 | * **Vagrant** Download: https://www.vagrantup.com/downloads.html | 45 | * **Vagrant** Download: https://www.vagrantup.com/downloads.html |
41 | - | ||
42 | * **Git** Download: https://git-scm.com/downloads | 46 | * **Git** Download: https://git-scm.com/downloads |
43 | 47 | ||
44 | Todos os componentes acima precisam ser instalados na máquina de desenvolvimento, prestando atenção nas seguintes considerações: | 48 | Todos os componentes acima precisam ser instalados na máquina de desenvolvimento, prestando atenção nas seguintes considerações: |