-
Notifications
You must be signed in to change notification settings - Fork 45
Configuração de um ambiente virtual utilizando o Vagrant
o Vagrant é uma ferramenta para automatizar a criação, configuração e principalmente gerenciamento de ambientes de desenvolvimento através de máquinas virtuais (VM) via softwares de virtualização como VirtualBox, VMWare, Parallels, entre outros. A ideia principal é você poder montar e configurar uma máquina virtual de maneira totalmente automatizada através de um conjunto de instruções escritas usando a DSL (Domain-Specific Language) da própria ferramenta. Sempre que você rodar essas instruções o resultado deverá ser o mesmo.
O Vagrant irá isolar dependências e configurações em um único ambiente virtual, consistente e descartável, sem precisar sacrificar nenhuma das ferramentas que estamos acostumados a trabalhar. Para isso, só precisamos criar um único arquivo dentro do projeto, o Vagrantfile, e logo em seguida dar um simples comando para que todo o ambiente seja montado, instalado e configurado.
Outra grande vantagem é a possibilidade de replicar o mesmo ambiente de maneira fácil e rápida em diferentes máquinas. Por as configurações do Vagrant serem apenas arquivos texto, elas podem estar embutidas dentro do seu projeto e controle de versão, como no caso o git, onde qualquer membro da equipe poderá baixar e criar o próprio ambiente de desenvolvimento a partir do Vagrantfile criado dentro do seu repositório.
Considerando que o seu sistema operacional é um Linux Ubuntu, o primeiro passo, é instalar o programa VirtualBox, que é um software de virtualização, utilizando-o para criar dinamicamente máquinas virtuais configuráveis, leves e portáteis. Para isso, execute o seguinte comando no terminal:
sudo apt-get install virtualbox
Após o VirtualBox ter sido instalado corretamente, falta instalar o Vagrant. No terminal, execute:
sudo apt-get install vagrant
E pronto, agora temos a vagrant instalada com sucesso, próximo passo é a configuração do ambiente.
Primeiramente escolha e acesse, via terminal, um diretório ou projeto qualquer existente da sua máquina.
Agora, iremos criar o arquivo que conterá toda a configuração inicial do nosso ambiente virtual. Esse arquivo é o Vagrantfile, mencionado anteriormente. Ele será criado automaticamente quando executarmos o seguinte comando:
vagrant init ubuntu/trusty64
Note que este comando cria uma máquina virtual com um sistema operacional Ubuntu server 14.04 LTS, no qual é considerado o suficiente para este tutorial.
Para rodar esta VM basta executar o comando abaixo:
vagrant up
É importante ter paciência ao rodar este comando pela primeira vez, pois o Vagrant terá que baixar a VM da internet de um repositório global com VMs pré-configuradas.
Se o comando foi executado com sucesso, já podemos utilizar nossa máquina virtual. Para isso, podemos conectar na VM via SSH através do comando a seguir:
vagrant ssh
Está é uma etapa importante para inicializar o Vagrant com todas as dependências necessárias para trabalhar no projeto, sendo que a Vagrant recém criada é um vem enxuta e normalmente não satisfaz os requisitos do nosso ambiente de desenvolvimento.
O ideal é que o Vagrant fizesse isso automaticamente sempre criássemos a VM no primeiro comando vagrant up
. Para isso, eu teria que de alguma forma indicar ao Vagrant para executar alguns comandos dentro da VM assim que ela fosse inicializada. Esses comandos poderiam estar em um script shell.
Para isso é necessário criar um arquivo, como por exemplo init.sh
, contendo as instruções de instalação das dependências para o ambiente de desenvolvimento.
Neste arquivo devem conter instruções do tipo:
sudo apt-get -y update
sudo apt-get -y install openjdk-7-jdk
sudo apt-get -y install tomcat7
sudo service tomcat7 start
Pronto! Agora só resta indicar ao Vagrant
para rodar o script init.sh
acima que fica localizado na raiz do nosso projeto. Para isso, precisamos configurar o arquivo Vagrantfile
como a seguir:
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provision :shell, path: "init.sh"
end
Basicamente adicionamos a linha config.vm.provision
informando o tipo do arquivo a ser provisionado :shell e sua localização relativa dentro do projeto. Para finalizar, só precisamos executar o comando vagrant up
e nossa VM será criada e configurada a partir do nosso script shell.
A principal vantagem de usar o provisionamento do Vagrant é que podemos automatizar todo o processo de configuração da VM o que nos permite ter ambientes replicáveis.
Agora está finalizada a instalação e configuração do ambiente virtual utilizando a Vagrant
.
EPS/MDS - FGA/UnB
Métodos de Desenvolvimento de Software
Gestão de Portfólio e Projetos de Software
RUP (Rational Unified Process)
Fase Elaboração (RUP) Planejamento(PMBOK)
Fase de Construção (RUP), Execução/Monitoramente e Controle (PMBOK)
Fase Transição (RUP), Finalização (PMBOK)
Acceptance Test Driven Development (ATDD)
Integração Contínua Deploy Contínuo
Automação de Ambiente com Docker
Orquestração de Containers com Docker Compose
Automação de Ambiente com Vagrant
Deploy Contínuo na Plataforma Heroku
Integração Contínua com Travis CI
Disponibilizando a Aplicação com o Proxy Reverso Nginx
Tutorial de Instalação do Ionic
Android Integração contínua com Circle CI
Configuração de Ambiente para React Native
Tutorial Instalação Ruby on Rails
Teste Automatizado Cucumber JS
Teste Automatizado Cucumber Rails
Testando AngularJS com Jasmine
Teste Automatizado com Selenium IDE
Configurar o SonarCloud para um projeto usando Jest
Configurar o SonarCloud para um projeto usando Pytest
Configurar o SonarCloud para um projeto usando Mocha e Istambul