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 | 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 | 12 | |
13 | 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 | 15 | * Vagrant - https://www.vagrantup.com/ |
16 | +* Docker - https://www.docker.com/ | |
17 | +* VirtualBox - https://www.virtualbox.org/ | |
17 | 18 | * Git - https://git-scm.com/ |
18 | 19 | |
19 | 20 | Outros recursos para melhor entendimento das tecnologias citadas acima: |
... | ... | @@ -23,6 +24,12 @@ Outros recursos para melhor entendimento das tecnologias citadas acima: |
23 | 24 | * http://pt.slideshare.net/RenanMartinsPimentel/vagrant-26647815 |
24 | 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 | 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 | 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 | 41 | Para configurar o ambiente, será necessário a instalação dos seguintes pré-requisitos: |
35 | 42 | |
36 | 43 | * **VirtualBox** Download: https://www.virtualbox.org/wiki/Downloads |
37 | - | |
38 | 44 | * **VirtualBox Extensions** Download: https://www.virtualbox.org/wiki/Downloads |
39 | - | |
40 | 45 | * **Vagrant** Download: https://www.vagrantup.com/downloads.html |
41 | - | |
42 | 46 | * **Git** Download: https://git-scm.com/downloads |
43 | 47 | |
44 | 48 | Todos os componentes acima precisam ser instalados na máquina de desenvolvimento, prestando atenção nas seguintes considerações: | ... | ... |