मेरे पास एक स्क्रिप्ट है जो अच्छी तरह से काम करती है जब मैं सर्वर पर इसे निष्पादित करने के लिए ssh करता हूं, लेकिन समस्या है जब हडसन , एक निरंतर एकीकरण सर्वर, इसे चलाता है।
मैं एक एम्बेडेड लिनक्स सिस्टम (लक्ष्य) पर परीक्षणों को स्वचालित कर रहा हूं। लक्ष्य धारावाहिक के माध्यम से सर्वर ए (आरएचईएल 5) से जुड़ा हुआ है और मिनिकॉम पर संचालित है। सर्वर बी (एफसी 12) उन परीक्षणों का निर्माण करता है जो वास्तव में लक्ष्य पर चलते हैं, और सर्वर ए। सर्वर सी (आरएच) के लिए ssh कर सकते हैं, सर्वर बी के साथ एक दास के रूप में होस्ट करता है।
मैंने वास्तविक लक्ष्य पर आवश्यक सब कुछ करने के लिए एक स्क्रिप्टस्क्रिप्ट (http://linux.die.net/man/1/runscript) स्क्रिप्ट लिखी है; यह छवि को बूट करता है, सर्वर बी से एक निर्देशिका को मापता है और परीक्षणों को निष्पादित करता है। सर्वर बी पर एक बैश स्क्रिप्ट कुछ साहचर्य क्रियाओं के साथ न्यूनतम स्क्रिप्ट के साथ मिनिकॉम को आमंत्रित करती है। मेरे पास सर्वर B पर एक bash स्क्रिप्ट है जो उपयोग करता है
ssh -t -t ServerA bashScript.sh
उन परीक्षणों को लक्ष्य पर चलाने के लिए। मैं सर्वर सी पर हूं, मैं उन परीक्षणों को सर्वर बी में ssh'ing द्वारा चला सकता हूं और स्क्रिप्ट ए को सर्वर ए पर निष्पादित कर सकता हूं जो कि रीकॉम के साथ मिनिकॉम को निष्पादित करता है। वाह। समीक्षा करने के लिए:
सर्वर A: हडसन अपने गुलाम तंत्र का उपयोग सर्वर B को ssh करने के लिए करता है।
सर्वर B: kickOffTests.sh
की रेखा हैssh -t -t ServerA runTests.sh
सर्वर A: runTests.sh
एक पर्ल स्क्रिप्ट को कॉल करता है जो इनवोक करता हैminicom -S my.script ttyE1
बूट करने के बाद टारगेट करें: सर्वर B से एक डायरेक्टरी को Mounts करता है, जहां परीक्षण होते हैं, और उस डायरेक्टरी में प्रवेश करता है। यह अभी तक एक और बैश स्क्रिप्ट को आमंत्रित करता है, जो परीक्षण चलाता है, जो सी निष्पादन योग्य हैं।
अब, जब मैं इनमें से किसी भी स्क्रिप्ट को निष्पादित करता हूं, तो वे वही करते हैं जो उन्हें करना चाहिए। हालांकि, जब हडसन एक ही बात करने की कोशिश करता है, तो मिनिकॉम सत्र में यह "अभी तक एक और बैश स्क्रिप्ट" में एक पंक्ति के बारे में शिकायत करता है जो सी निष्पादन योग्य को आमंत्रित करता है ./executable
, के साथ,./executable: cannot execute binary file
मुझे अभी भी linux के बारे में जानने के लिए बहुत कुछ है, लेकिन मुझे लगता है कि यह समस्या हडसन के सांत्वना से न जुड़ने का परिणाम है। मुझे नहीं पता कि हडसन अपने दास को नियंत्रित करने के लिए क्या करता है। मैंने export TERM=console
किकऑफ़टेस्ट.श को चलाने से ठीक पहले कॉन्फ़िगरेशन में लाइन का उपयोग करने की कोशिश की , लेकिन समस्या बनी हुई है।
क्या कोई मुझे समझा सकता है कि क्या हो रहा है और मैं इसे कैसे ठीक कर सकता हूं? मैं इस समीकरण से कोई भी सर्वर नहीं निकाल सकता। यह संभव हो सकता है कि मिनिकॉम को समीकरण से बाहर ले जाया जाए, लेकिन इससे इस परियोजना में एक अनजान राशि जुड़ जाएगी, इसलिए मैं एक ऐसे समाधान को पसंद करूंगा जो मेरे पास पहले से ही है।