Skip to end of metadata
Go to start of metadata

Este tutorial descreve como trabalhar com funcionalidades avançadas de Vagrant no PhpStorm.

1. Usando o terminal SSH embutido para se conectar à maquina Vagrant

O PhpStorm vem com um terminal SSH embutido que pode ser usado para se conectar à máquina Vagrant.

1.1. Inicie a conexão

A partir do menu Tools  Start SSH session... podemos nos conectar à máquina Vagrant configurada para o projeto. 


Isso vai abrir a lista de hosts com os quais podemos nos conectar. 


Nossa máquina Vagrant deve ser automaticamente adicionada a lista. Clicando nela uma conexão SSH será aberta à máquina Vagrant.
O item Edit credentials... permite que editemos a informação manualmente.

1.2. Provendo a informação de conexão

Agora vamos prover a informação de conexão. Para uma box padrão trusty64 podemos usar os seguintes valores. Note que para outros boxes Vagrant esta informação pode ser diferente.

  • Host: localhost
  • Port: 2222 (que normalmente é configurada por máquinas Vagrant)
  • User name: vagrant
  • Password: vagrant

1.3. Trabalhando com SSH

Após clicar em OK o PhpStorm irá conectar à máquina Vagrant via SSH e o terminal será aberto para trabalhar com ele.


No terminal SSH podemos rodar comandos remotamente, assim como copiar e colar dados dele e para ele.

2. Diretórios compartilhados

O Vagrant permite o compartilhamento de diretórios entre a máquina hospedeira e a virtual. Eles podem ser usados, por exemplo, para automaticamente prover o conteúdo do root web do Projeto atual no PhpStorm para o servidor web na máquina Vagrant.

2.1. Adicionar o mapeamento

No arquivo Vagrantfile podemos adicionar o caminho do mapeamento introduzindo a entrada de configuração adequada para tal:

2.2. Vagrant reload

Atualizar a máquina a partir do Vagrantfile pode ser feito através do menu Tools  Vagrant  Reload. Uma vez que a máquina Vagrant tenha sido atualizada o novo mapeamento já deve estar disponível.

Por exemplo, quando conectamos à máquina Vagrant usando o terminal SSH podemos ver o conteúdo do diretório /vagrant que mapeia o diretório do projeto local no PhpStorm. Cuidado: excluir arquivos deste diretório vai excluir arquivos dos dois lados! 

3. Especificando o diretório de instância do Vagrant

Por padrão o Vagrantfile e todas as especificidades do Vagrant (como manifestos Puppet) são colocados na raiz do projeto do PhpStorm. Como este comportamento pode não ser o desejado, é possível alterar o diretório de instância por onde o IDE deve procurar pelo Vagrantfile em Settings...  Tools → Vagrant.

4. Gerencie os plugins do Vagrant

Através de Settings... →Tools Vagrant podemos gerenciar os plugins do Vagrant. Acesse a aba Plugins e use os botões na lateral para instalar, desinstalar e atualizar os plugins. Licenças podem também ser instaladas, por exemplo, o VMWare Fusion Provider permite rodarmos máquinas Vagrant no VMWare.

5. Suporte a Providers

O Vagrant trabalha com o Oracle VirtualBox como plataforma de virtualização como padrão. Usando providers a plataforma de virtualização pode ser alterada e máquinas virtuais pode ser executadas em outros plataformas, como o VMWare ou Amazon EC2. Uma lista dos provedores disponíveis pode ser obtida na lista de plugins do Vagrant.

O provider a ser utilizado deve ser passado para o Vagrant a cada comando. Para tornar isso mais fácil podemos configurar o provider a ser utilizado para o projeto em Settings... → Tools → Vagrant e o PhpStorm se encarregará de passar o provider selecionado para o Vagrant a cada comando. Todos os providers instalados em nossa máquina estarão disponíveis em Provider. Uma vez selecionado, o PhpStorm vai utilizar o Vagrant com base nesta seleção.

6. (Re)provisionando uma máquinna Vagrant

Um Vagrantfile (o arquivo de configuração do Vagrant) pode declarar vários provisionadores que podem disparar rotinas de instalação e configuração com uma máquina Vagrant sendo executada. O comando Provision invoca os provisionadores configurados em uma máquina Vagrant em execução, sem a necessidade de destruí-la.

Usando o menu Tools  Vagrant, podemos executar somente o provisionamento em um ambiente já em execução.

7. Trabalhando com variáveis de ambiente

Trabalhar com variáveis de ambiente no Vagrantfile é útil para fazer várias coisas, como:

  • configurar o nó do Puppet
  • configurar o ambiente do Provisionador
  • configurar fatos (facts) customizados
  • configurar chaves AWS
  • e muito mais

A partir de Settings... → Tools Vagrant podemos especificar variáveis de ambiente específicas para o projeto que serão passadas para o Vagrantfile.


Uma vez configurado, podemos usá-las em nosso Vagrantfile usando a sintaxe #{ENV['nome_da_variavel']}:

8. Interpretadores Remotos PHP

A o interpretador PHP da máquina virtual Vagrant pode ser usado como um interpretador PHP remoto no PhpStorm. Isso nos permite executar nossa aplicação e ferramentas baseadas em PHP em um ambiente "como de produção" (nossa máquina Vagrant), por exemplo para rodar testes PHPUnit na máquina Vagrant. Nós podemos instalar somente o PhpStorm em nossa máquina de desenvolvimento e executar, depurar e testar nossa aplicação em uma máquina Vagrant.

  • No labels