Ho una macchina virtuale Ubuntu a cui accedo tramite Vagrant. Sul mio host (Mac OSX), c'è una cartella con un paio di file, che condivido con la macchina virtuale. In quella macchina virtuale, voglio usare guard per controllare le modifiche ai file ed eseguire alcune azioni se qualcuno di questi file cambia.
Ho impostato correttamente la protezione e quando si cambia il file condiviso dall'interno della macchina virtuale, funziona bene ed esegue script appropriati. Ma, se provo a cambiare il file condiviso dal mio computer host, questo evento di cambio file non si propaga e guard non reagisce.
Ecco come appare la mia cartella condivisa del vagabondo (roba abbastanza normale)
local_config.vm.share_folder "app", "/var/www/app/current", "../app"
Ho anche provato a utilizzare la condivisione NFS ( :nfs => true
) ma non mi è stato di aiuto.
Esiste un modo per far propagare gli eventi di modifica dei file dall'host alla macchina virtuale? O è qualcosa della natura di Vagrant / VirtualBox?
AGGIORNARE:
Dopo alcune prove, ho installato ZenTest gem, che contiene uno strumento di autotest che consente funzionalità simili per quanto riguarda gli eventi di modifica dei file.
Durante l'esecuzione dell'autotest nella macchina virtuale e la modifica dei file dalla mia macchina host, queste modifiche vengono propagate e l' autotest reagisce .
Sulla base di questo, sembra che la propagazione degli eventi di modifica del file sia un problema di guardia, non vagabondo o virtuale.
Non ho esaminato le differenze di implementazione tra guard e autotest.
Ora so che è possibile rilevare eventi di modifica dei file dall'host nella macchina virtuale. Qualcuno ha qualche idea su come raggiungere questo obiettivo utilizzando Guard? Mi piace proteggere di più a causa della sua DSL e della sua usabilità generica.