ฉันมีเครื่องเสมือน Ubuntu ที่ฉันเข้าถึงผ่าน Vagrant บนโฮสต์ของฉัน (Mac OSX) มีโฟลเดอร์ที่มีไฟล์สองไฟล์ที่ฉันแชร์ไปยังเครื่องเสมือน ในเครื่องเสมือนนั้นฉันต้องการใช้Guardเพื่อเฝ้าดูการเปลี่ยนแปลงไฟล์และดำเนินการบางอย่างหากมีการเปลี่ยนแปลงไฟล์ใด ๆ
ฉันตั้งค่าการป้องกันอย่างถูกต้องและเมื่อเปลี่ยนไฟล์ที่ใช้ร่วมกันจากภายในเครื่องเสมือนมันทำงานได้ดีและรันสคริปต์ที่เหมาะสม แต่ถ้าฉันพยายามเปลี่ยนไฟล์ที่ใช้ร่วมกันจากเครื่องโฮสต์ของฉันเหตุการณ์การเปลี่ยนแปลงไฟล์นี้จะไม่เผยแพร่และการป้องกันจะไม่ตอบสนอง
นี่คือลักษณะโฟลเดอร์คนจรจัดของฉันที่ดูเหมือน (สิ่งปกติสวย)
local_config.vm.share_folder "app", "/var/www/app/current", "../app"
ฉันได้ลองใช้การแบ่งปัน NFS ( :nfs => true
) แต่ก็ไม่ได้ช่วยอะไร
มีวิธีใดบ้างที่จะทำให้เหตุการณ์การเปลี่ยนแปลงไฟล์เผยแพร่จากโฮสต์ไปยังเครื่องเสมือน? หรือนี่เป็นสิ่งที่เกี่ยวกับธรรมชาติของ Vagrant / VirtualBox?
UPDATE:
หลังจากการทดลองเพิ่มเติมฉันติดตั้งZenTest gem ซึ่งมีเครื่องมือ autotest ที่อนุญาตการทำงานที่คล้ายกันเกี่ยวกับเหตุการณ์การเปลี่ยนแปลงไฟล์
เมื่อเรียกใช้ autotest ในเครื่องเสมือนและเปลี่ยนไฟล์จากเครื่องโฮสต์ของฉันการเปลี่ยนแปลงเหล่านี้จะแพร่กระจายและตอบกลับอัตโนมัติ
จากสิ่งนี้ดูเหมือนว่าการเผยแพร่เหตุการณ์การเปลี่ยนแปลงไฟล์จะเป็นปัญหาของการ์ดรักษาความปลอดภัยไม่ใช่กล่องคนเร่ร่อนหรือกล่องเสมือน
ฉันไม่ได้พิจารณาถึงความแตกต่างในการใช้งานระหว่างการ์ดป้องกันและระบบควบคุมอัตโนมัติ
ตอนนี้ฉันรู้ว่ามันเป็นไปได้ที่จะจับเหตุการณ์การเปลี่ยนแปลงไฟล์จากโฮสต์ในเครื่องเสมือน ใครบ้างมีความคิดเกี่ยวกับวิธีการใช้ยามนี้? ฉันชอบที่จะระวังมากกว่าเพราะใช้ DSL และการใช้งานทั่วไป