Skip to content
This repository has been archived by the owner on May 22, 2021. It is now read-only.

renatopanda/IPTomar-MEI-IoT-ES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

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:

  • Vagrant
  • VirtualBox
  • Git BASH - apenas para Windows
  • Porquê? Para ter um cliente SSH (e restantes tools) que permita fazer vagrant ssh
  • Reiniciar

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

  • Criar uma pasta algures (ex: D:/Dev/HashiCorp/VagrantHome)
  • Definir uma variável de ambiente VAGRANT_HOME com esse valor. Para fazer isto na linha de comandos:
setx VAGRANT_HOME D:/Dev/HashiCorp/VagrantHome

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

About

Projecto de Engenharia de Software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published