मेरे पास ubuntu वर्चुअल मशीन है जिसे मैं वैग्रैंट के माध्यम से एक्सेस कर रहा हूं। मेरे होस्ट (मैक ओएसएक्स) पर, कुछ फ़ाइलों के साथ एक फ़ोल्डर है, जिसे मैं वर्चुअल मशीन पर साझा करता हूं। उस वर्चुअल मशीन में, मैं फ़ाइलों के परिवर्तनों को देखने के लिए गार्ड का उपयोग करना चाहता हूं और यदि कोई भी फाइल बदलती है, तो वे कुछ कार्रवाई करते हैं।
मैंने ठीक से गार्ड सेट किया है, और जब वर्चुअल मशीन के भीतर से साझा फ़ाइल को बदल रहा है, तो यह ठीक काम करता है और उपयुक्त स्क्रिप्ट चलाता है। लेकिन, अगर मैं अपने होस्ट मशीन से साझा की गई फ़ाइल को बदलने की कोशिश करता हूं, तो यह फ़ाइल परिवर्तन घटना प्रचारित नहीं करती है और गार्ड प्रतिक्रिया नहीं करता है।
यह मेरा योनि साझा फ़ोल्डर कैसा दिखता है (बहुत सामान्य सामान)
local_config.vm.share_folder "app", "/var/www/app/current", "../app"
मैंने NFS शेयरिंग ( :nfs => true
) का उपयोग करने की भी कोशिश की, लेकिन इससे कोई फायदा नहीं हुआ।
क्या फ़ाइल परिवर्तन की घटनाओं को होस्ट से वर्चुअल मशीन तक प्रचारित करने का कोई तरीका है? या यह वैग्रंट / वर्चुअलबॉक्स प्रकृति का कुछ है?
अपडेट करें:
कुछ और परीक्षणों के बाद, मैंने ज़ेनटेस्ट रत्न स्थापित किया , जिसमें ऑटोटेस्ट टूल शामिल है जो फ़ाइल परिवर्तन घटनाओं के बारे में समान कार्यक्षमता की अनुमति देता है।
जब वर्चुअल मशीन में ऑटोटेस्ट चलाते हैं और मेरे होस्ट मशीन से फाइल बदलते हैं, तो ये परिवर्तन प्रचारित होते हैं और ऑटोटेस्ट रिएक्ट होते हैं ।
इसके आधार पर, ऐसा लगता है कि फ़ाइल परिवर्तन ईवेंट प्रचार एक मुद्दा है, न कि आवारा या आभासी बॉक्स।
मैं हालांकि गार्ड और ऑटोटेस्ट के बीच कार्यान्वयन अंतर पर ध्यान नहीं देता।
अब मुझे पता है कि वर्चुअल मशीन में होस्ट से फ़ाइल परिवर्तन की घटनाओं को पकड़ना संभव है। किसी को भी गार्ड का उपयोग कर इसे प्राप्त करने पर कोई विचार है? मुझे इसकी DSL और जेनेरिक प्रयोज्यता के कारण गार्ड अधिक पसंद है।