renatopanda / IPTomar-MEI-IoT-ES

Projecto de Engenharia de Software
0 stars 0 forks source link

Code Climate

Repositório de Projectos do IPT

Projeto desenvolvido na disciplina de Engenharia de Software

Mestrado em Engenharia Informática - Internet das Coisas - IPT

logo do ipt

Vagrant: Como utilizar?

Instalar software:

Em Windows o caminho para a pasta dos plugins do Vagrant não pode ter espaços. Por isso:

Instalar plugin vagrant-vbguest, na linha de comandos:

vagrant plugin install vagrant-vbguest

Iniciar a VM de desenvolvimento (1a vez):

TL;DR

# na pasta do projecto com (Git) BASH:
vagrant up
vagrant reload
vagrant ssh
cd /vagrant
bundle install
rails db:setup
rails server -b0.0.0.0

Versão detalhada:

Ter versão actualizada do projecto, onde já exista um Vagrantfile (caso contrário fazer pull). Abrir uma consola na pasta do projecto - se estiverem em Windows, o ideal é abrir a Git BASH (botão direito na pasta... "Git BASH Here"). Iniciar a VM.

vagrant up

A primeira execução demora pois vai importar (net) e descompactar a VM.

É provável que depois o provisioning falhe, causado por um lock ("Could not get lock /var/lib/dpkg/lock"). A solução mais fácil é voltar a carregar as configurações:

vagrant reload

Se continuar a dar o mesmo erro terão que entrar na VM, apagar o ficheiro e repetir (vagrant ssh, sudo rm /var/lib/dpkg/lock, logout, vagrant reload).

Utilização:

Depois de configurada, podem fazer vagrant up, vagrant suspend, vagrant status e vagrant destroy para iniciar, terminar, ver o estado e destruir uma VM.

Tudo o que faziam na linha de comandos (rails ..., bundle ..., etc) é feito da mesma forma, dentro da VM. Dentro da vm a pasta "/vagrant" está ligada à vossa pasta do projecto local.

Portanto, na pasta do projecto:

vagrant ssh
cd /vagrant
bundle install
rails db:setup
rails server -b0.0.0.0

Para entrar na VM por ssh, ir para a pasta /vagrant, instalar as gems necessárias, iniciar a BD e iniciar o servidor. A app deve estar acessível em http://localhost:3000/

Toda a edição (commits, etc.) é feita na vossa máquina, tal como antes.


A gem paperclip está integrada no nosso projecto.

Antes de correrem o projecto, no vagrant, depois de fazerem cd /vagrant escrevam:

sudo apt-get install imagemagick -y