У меня есть виртуальная машина Ubuntu, к которой я получаю доступ через Vagrant. На моем хосте (Mac OSX) есть папка с несколькими файлами, которые я разделяю на виртуальной машине. В этой виртуальной машине я хочу использовать guard, чтобы отслеживать изменения файлов и выполнять некоторые действия, если какой-либо из этих файлов изменяется.
Я правильно настроил охрану, и при смене общего файла из виртуальной машины он работает нормально и запускает соответствующие сценарии. Но, если я пытаюсь изменить общий файл с моего хоста, это событие изменения файла не распространяется и защита не реагирует.
Вот так выглядит моя бродячая общая папка (довольно обычные вещи)
local_config.vm.share_folder "app", "/var/www/app/current", "../app"
Я даже пытался использовать NFS shared ( :nfs => true
), но это не помогло.
Есть ли способ заставить события изменения файла распространяться с хоста на виртуальную машину? Или это что-то вроде Vagrant / VirtualBox?
ОБНОВИТЬ:
После еще нескольких испытаний я установил ZenTest gem, который содержит инструмент для автоматического тестирования , позволяющий выполнять аналогичные функции в отношении событий изменения файла.
При запуске автотеста на виртуальной машине и изменении файлов с моего хоста эти изменения распространяются и автотест реагирует .
Исходя из этого, кажется, что распространение события изменения файла является вопросом защиты, а не бродяги или виртуальной коробки.
Я не смотрел на различия в реализации между защитой и автотестом, хотя.
Теперь я знаю, что можно отслеживать события изменения файлов с хоста на виртуальной машине. У кого-нибудь есть идеи о том, как этого добиться с помощью охраны? Мне больше нравится охрана из-за его DSL и общего удобства использования.
источник
Я знаю, что это более старый вопрос, но вот более актуальный ответ:
Охранная
-o/--listen-on
документацияВставлено здесь для быстрого ознакомления:
источник
Если кто-то сталкивается с этой проблемой, и охрана все еще не работает ...
Я в конечном итоге с помощью сторожа . Это альтернатива для охраны. Распространение событий от хоста к гостевой машине работает нормально в watchr. Это также более гибкий, чем автотест.
источник
Events propagation from host to guest machine works ok in watchr.
Как? Использует ли он опрос? Если VirtualBox не распространяет события, как он может узнать, когда файл изменился?