के माध्यम से नहीं, मैं एक देव वातावरण स्थापित करने के लिए योनि का उपयोग करने की कोशिश कर रहा हूं जो स्वचालित रूप से क्लोन किए जाने पर दो रिपॉजिटरीज को क्लोन करता है।कठपुतली निष्पादन कमांड शैल में चलता है, लेकिन कठपुतली
मैंने कई लोगों में असफल होने के बाद रिपो को क्लोन करने के लिए एक सरल लिपि लिखी, कठपुतली को सीधे गिट कमांड चलाने के लिए कई तरीके दिए। किसी कारण से मैंने सोचा कि यह विधि मूर्खतापूर्ण होगी, लेकिन यह पता चला है कि मैं सोचने से बेहतर मूर्ख हूं।
#!/bin/bash
if [ ! -d /vagrant/repo-one-dest ]; then
git clone [email protected]:/repo-one.git /vagrant/repo-one-dest
fi
if [ ! -d /vagrant/repo-two-dest ]; then
git clone [email protected]:/repo-two.git /vagrant/repo-two-dest
fi
exit
निजी कुंजी ठीक तरह से स्थापित कर रहे हैं:
exec {"load-repos":
command =>"/bin/bash /vagrant/manifests/modules/scripts/clone_repos.sh",
require => Package["git-core"],
}
यहाँ स्क्रिप्ट है। जब मैं वीएम में लॉग इन करता हूं और मैन्युअल रूप से bash clone_repos.sh
चलाता हूं, तो सब कुछ काम करता है। इससे कोई फर्क नहीं पड़ता कि मैं कितनी बार योनि को पुनः लोड करता हूं और कठपुतली को अपनी चीज करने देता हूं, रेपो को कभी भी निष्पादन के माध्यम से लोड नहीं किया जाता है। मैं क्या खो रहा हूँ?
पहले '[' परीक्षण पर गुम जगह। – ormaaj
इसे इंगित करने के लिए धन्यवाद। दुर्भाग्यवश, यह एक कलाकृति है जिसे मैंने पोस्ट में पेश किया जब मैंने असली निर्देशिका को 'रेपो-वन-डेस्ट' के साथ बदल दिया। कमांडलाइन से चलते समय स्क्रिप्ट सही ढंग से कार्य करती है और इसमें स्थान होता है। मैंने वाक्यविन्यास त्रुटि को हटाने के लिए पोस्ट संपादित किया। – jeremiahs
आपके एक्ज़िक ब्लॉक में 'लॉगआउटपुट => सत्य "जोड़ना परिणामस्वरूप अधिक आउटपुट हो सकता है जो डिबगिंग में मदद कर सकता है। आप एक फ़ाइल ["/vagrant/manifests/मॉड्यूल/स्क्रिप्ट/clone_repos.sh " ] आवश्यक अनुभाग में। कठपुतली कठपुतली को आपके वीएम पर धक्का देने से पहले स्क्रिप्ट निष्पादित करने का प्रयास कर रही है। – pwan