Vagrant com VMware visualizando o aplicativo de um dispositivo móvel

O Vagrant lançou recentemente o suporte para caixas VMware Fusion. Se você não mudou do VirtualBox, eu pelo menos recomendo experimentá-lo.

Se você precisar testar seu aplicativo em um dispositivo móvel ou permitir que alguém acesse o aplicativo em execução em sua máquina, é bastante simples. O VMware Fusion possui um arquivo de configuração que permite o encaminhamento de portas. Se você estiver em um Mac, ele está localizado

/Library/Preferences/VMware Fusion/vmnet8/nat.conf.

Há uma seção marcada [incomingtcp]onde você pode definir o encaminhamento de porta que deseja.

Você também pode configurar o Vagrant para fazer o encaminhamento de porta se quiser adicionar ou substituir quaisquer regras de encaminhamento de porta. Veja aqui para mais informações. Configure o Vagrant para encaminhar uma porta

config.vm.network :forwarded_port, guest: 80, host: 4000

Que irá encaminhar sua porta 4000 para a porta 80 das VMs. Depois de provisionar sua caixa Vagrant, o nat.confarquivo agora deve ter sua regra de encaminhamento de porta. Na [incomingtcp]seção deve haver algo semelhante a este

# VAGRANT-BEGIN: 
2222 = 172.16.167.128:22
4000 = 172.16.167.128:80
# VAGRANT-END:

Este bloco significa que há 2 regras de encaminhamento de porta configuradas pelo Vagrant. Lê como

<external port number> = <VMs IP address>:<VMs port number>

Portanto, em sua máquina local, você pode visitar localhost:4000para acessar a porta 80 em sua VM. A porta 2222 encaminha para a porta ssh em sua VM.

Com isso, podemos expor nosso aplicativo em execução a um dispositivo móvel para testá-lo. Em um Mac, você pode ir para e certificar-se de que forneceu um nome de computador para que possa acessá-lo via . Assim que tiver um, certifique-se de que pode visitá-lo.SystemPreferences > Sharingmy-mac.local

Agora podemos adicionar nossa porta 4000ao nosso endereço local para visitar o aplicativo. Com seu aplicativo já em execução em sua visita VM de um dispositivo móvel ou outro computador em sua rede local. Deve ser isso e você deve ver seu aplicativo em execução. Se você não vê nada, certifique-semy-mac.local:4000

1 O aplicativo está sendo executado em sua VM na porta 80
2 Você configurou o Vagrant para encaminhar suas VMs pela porta 80
3 Use qualquer encaminhamento de porta padrão definido pelo Vagrant ou VMWare no arquivo se não estiver configurando o seu próprio.nat.conf