मैं कैपिस्ट्रानो का एक बड़ा प्रशंसक हूं लेकिन मुझे जावा-केवल दुकान के लिए एक स्वचालित तैनाती स्क्रिप्ट विकसित करने की आवश्यकता है। मैंने चींटी और मेवेन को देखा है और वे दूरस्थ प्रशासन की दिशा में अच्छी तरह से तैयार नहीं हैं, जिस तरह से कैपिस्ट्रानो है - वे बस बिल्डिंग और पैकेजिंग अनुप्रयोगों पर अधिक ध्यान केंद्रित करते हैं। क्या वहां कोई बेहतर उपकरण है?Capistrano?
उत्तर
मुझे नहीं लगता कि जावा वेब अनुप्रयोगों के लिए कैपिस्ट्रानो-जैसे एप्लिकेशन है, लेकिन यह आपको अपने अनुप्रयोगों को तैनात करने के लिए वास्तव में इसे (या फैब्रिक जैसे विकल्प) का उपयोग करने से नहीं रोकना चाहिए। जैसा कि आप पहले से ही कह चुके हैं, एंट जीएनयू बनाने के लिए अधिक प्रतिस्थापन है जबकि मेवेन प्राथमिक बिल्डआउट/निर्भरता-प्रबंधन अनुप्रयोग है।
चूंकि जावा वेब अनुप्रयोग बाहरी पुस्तकालयों पर कम निर्भर करते हैं .war कंटेनर के लिए धन्यवाद, आप (अपने एप्लिकेशन सर्वर के आधार पर) एक सरल HTTP PUT-request चलाने के रूप में एक एप्लिकेशन को तैनात कर सकते हैं।
लेकिन अगर आपको अतिरिक्त कदमों की आवश्यकता है, तो Fabric ने अब तक मेरे लिए बहुत अच्छा काम किया है और मुझे लगता है कि कैपिस्ट्रानो जेनेरिक शेल-कमांड भी प्रदान करता है, संचालन करता है और संचालन करता है। इसलिए यदि आप पहले से ही पहले से ही काम कर चुके हैं तो मैं एक विकल्प के लिए बहुत लंबा नहीं देखूंगा :-)
मेरे काम पर हम विशेष रूप से हमारे सभी जावा अनुप्रयोगों को तैनात करने के लिए कैपिस्ट्रानो का उपयोग करते हैं। यह निश्चित रूप से संभव है।
कैसे ... आप मुझे अंतिम रिलीज युद्ध रखने के लिए मार्गदर्शन कर सकते हैं> –
मैं स्रोत से (एक जावा webapp, जो बारी में Maven का उपयोग करता है) Dspace के निर्माण के लिए एक Capistrano नुस्खा का उपयोग करें: Installing dspace using capistrano
मुझे लगता है कि controltier (देखें: http://controltier.org) आप के लिए क्या देख रहे है। हालांकि नियंत्रक को जावा तैनाती के लिए विशेष रूप से उपयोग करने की आवश्यकता नहीं है। (: control tier documentation देखें):
ControlTier Capistrano, कपड़ा, या समारोह के रूप में ही है
डॉक्स से इस अंश देखते हैं?
उनके सबसे मूलभूत अवधारणाओं में, ControlTier, Capistrano, कपड़ा, और समारोह समान उपकरण हैं। हम निश्चित रूप से Capistrano, फैब्रिक, और Func मूल कमांड डिस्पैचिंग फ्रेमवर्क को कॉल करेंगे।
हालांकि, डिज़ाइन द्वारा कंट्रोलटेयर, इन अन्य टूल प्रदान करने से काफी दूर है। स्वचालन लाइब्रेरीज़ और वेब-आधारित टूल्स जो कंट्रोल टियर प्रदान करता है आपको पूर्ण ऑटोमेशन सिस्टम एंटरप्राइज़ या बड़े पैमाने पर वेब ऑपरेशंस टीमों के उपयोग के लिए तैयार करने देता है। त्रुटि-हैंडलिंग और केंद्रीकृत लॉगिंग जैसी विशेषताएं भी हैं जो कि अन्य कमांड प्रेषण उपकरण के दायरे में नहीं हैं।
इसके अलावा, कैपिस्ट्रानो रूबी-आधारित टूल है जो मुख्य रूप से रेल समुदाय पर रूबी की की आवश्यकताओं पर केंद्रित है। कंट्रोलटेयर, जावा में लिखे गए, आपको जावा को का उपयोग करने की आवश्यकता नहीं है। वास्तव में, आप स्क्रिप्टिंग भाषाओं का उपयोग कर सकते हैं जो आप (रूबी सहित) के साथ सहज हैं। कंट्रोलटेयर भाषा और प्लेटफार्म (लिनक्स, यूनिक्स, विंडोज, आदि ..) जितना संभव हो सके तटस्थ होने का प्रयास करता है।
कंट्रोल टियर अब Rundeck.org द्वारा बहिष्कृत है – David
कैपिस्ट्रानो सभी वेब मूल अनुप्रयोगों को तैनात कर सकता है। अलग भाषा के लिए तैनाती लगभग एक ही हैं:
- अद्यतन कोड
- धक्का उत्पादन सर्वर
- करने के लिए कोड इस तैनाती
- पुनः आरंभ करने के लिए सर्वर विन्यास फाइल तैयार करते हैं। (पतली, nginx, बिल्ला)
, हम जावा, Vuejs, php, रूबी, अजगर अनुप्रयोगों को तैनात करने के Capistrano का उपयोग करें।
नोट: फैब्रिक पाइथन में है और यहां पाया जा सकता है http://www.nongnu.org/fab/ –
बस रिकॉर्ड के लिए: 2014 में इस पोस्ट को पढ़ने के बाद मैंने एक विशेष कार्य के लिए फैब्रिक का परीक्षण लगाया हमारी depalment प्रक्रिया में। यह बहुत अच्छा चला गया और अब हम अपने सभी तैनाती चरणों को कम या कम के लिए फैब्रिक का उपयोग कर रहे हैं। हम विभिन्न सर्वरों की एक श्रृंखला में कुछ हद तक जावा सर्वर अनुप्रयोगों को तैनात करते हैं। – AndersG