मेरी परियोजना में एक बहु-चरण पाइपलाइन है जिसमें क्रॉलिंग, एनएलपी इत्यादि जैसे कुछ कदम शामिल हैं, लेकिन मैं उन्हें केवल चरण 1, चरण 2, आदि के रूप में संदर्भित करूंगा। इसके अतिरिक्त मैं सक्षम होना चाहता हूं विभिन्न वातावरणों को तैनात करने के लिए (देव, प्रोड, इत्यादि)।केवल कुछ भूमिकाओं के लिए कैपिस्ट्रानो कार्य चलाना
मुझे लगता है कि मैं विभिन्न वातावरणों (जैसे टोपी देव तैनाती बनाम टोपी प्रोड तैनाती) पर तैनात करने के लिए कैपिस्ट्रानो के लिए बहुस्तरीय घटक का उपयोग करूंगा।
यह प्रत्येक पाइपलाइन चरण के लिए भूमिकाओं का उपयोग करने के लिए अंतर्ज्ञानी भावना भी प्रतीत होता है। हालांकि, प्रत्येक चरण पाइपलाइन के बाकी हिस्सों से काफी स्वतंत्र रूप से चलता है, इसलिए प्रत्येक चरण को अन्य चरणों से स्वतंत्र रूप से पुनरारंभ/तैनात किया जा सकता है। ऐसा लगता है कि Capistrano स्पष्ट रूप से केवल एक विशिष्ट भूमिका के लिए चल रहे कार्यों का समर्थन करता है। ऐसा करने का एक अच्छा तरीका क्या है?
विशेष रूप से प्रत्येक भूमिका के लिए इस परिभाषित कार्यों को करने का सबसे अच्छा तरीका है? क्या होगा यदि भूमिकाओं के बीच कुछ कार्य आम हैं? शायद सहायक तरीके क्या जवाब है?
का उल्लेख नहीं कर सकते हैं जो मैं ढूंढ रहा हूं। उदाहरण के लिए, अगर मैं एक काम की तरह था: ' कार्य: clear_logs रन" rm -f /tmp/blah.log " अंत ' एक तैनाती के हिस्से के रूप में, मैं पर इसे चलाने के लिए चाहते हो जाएगा करते हैं मेरे सभी मशीनें अगर मैं अपनी पाइपलाइन में सभी चरणों को तैनात कर रहा था। लेकिन अगर मैं केवल पाइपलाइन के चरण 2 को तैनात कर रहा हूं, तो मैं केवल उन सभी मशीनों पर लॉग साफ़ करना चाहता हूं जिनमें चरण 2 की भूमिका है। जिन भूमिकाओं का सामना करना पड़ रहा है, उनमें समस्या यह है कि वे कौन सी मशीनों को कार्य चलाने के लिए निर्दिष्ट करते हैं, लेकिन आप यह निर्दिष्ट नहीं कर सकते कि वास्तव में उन्हें चलाने के लिए या किसी विशेष परिनियोजन के लिए नहीं। – JZC