Eu tenho uma máquina virtual ubuntu que estou acessando através do Vagrant. No meu host (Mac OSX), há uma pasta com alguns arquivos que eu compartilho na máquina virtual. Nessa máquina virtual, quero usar o guarda para observar as alterações nos arquivos e executar alguma ação se algum desses arquivos for alterado.
Configurei a proteção corretamente e, ao alterar o arquivo compartilhado de dentro da máquina virtual, ele funciona bem e executa os scripts apropriados. Mas, se eu tentar alterar o arquivo compartilhado da minha máquina host, esse evento de alteração de arquivo não se propaga e o protetor não reage.
É assim que minha pasta compartilhada é vagabunda (coisas bastante comuns)
local_config.vm.share_folder "app", "/var/www/app/current", "../app"
Eu até tentei usar o compartilhamento NFS ( :nfs => true
), mas não ajudou.
Existe alguma maneira de fazer com que os eventos de alteração de arquivo sejam propagados do host para a máquina virtual? Ou isso é algo da natureza do Vagrant / VirtualBox?
ATUALIZAR:
Após mais algumas tentativas, instalei o ZenTest gem, que contém a ferramenta de autoteste, que permite funcionalidade semelhante em relação a eventos de alteração de arquivo.
Ao executar o autoteste na máquina virtual e alterar os arquivos da minha máquina host, essas alterações são propagadas e o autoteste reage .
Com base nisso, parece que a propagação de eventos de alteração de arquivo é um problema de guarda, não de caixa virtual ou vagabunda.
Não analisei as diferenças de implementação entre guarda e autoteste.
Agora eu sei que é possível capturar eventos de alteração de arquivo do host na máquina virtual. Alguém tem alguma idéia de como conseguir isso usando guarda? Eu gosto de guardar mais por causa de sua DSL e usabilidade genérica.
fonte
Sei que essa é uma pergunta mais antiga, mas aqui está uma resposta mais atualizada:
-o/--listen-on
Documentação das opções de guardaColado aqui para referência rápida:
fonte
Se alguém encontrar esse problema e o guarda ainda não estiver funcionando ...
Acabei usando watchr . É uma alternativa para guardar. A propagação de eventos do host para a máquina convidada funciona bem no watchr. Também é mais flexível que o autoteste.
fonte
Events propagation from host to guest machine works ok in watchr.
Quão? Ele usa pesquisa? Se o VirtualBox não estiver propagando os eventos, como saber quando um arquivo foi alterado?