यहां उपकरण की कई श्रेणियां हैं। कुछ लोग इन श्रेणियों से उपकरणों के संयोजन का उपयोग करते हैं। मैं कभी-कभी, उदाहरण के लिए, कठपुतली और Capistrano दोनों का उपयोग करें। चर्चा के लिए Puppet or Capistrano - Use the Right Tool for the Job देखें।
स्क्रिप्टिंग उपकरण एक आवेदन नियोजित करना करने के उद्देश्य से:
इस श्रेणी में उपकरणों के साथ सामान्य पद्धति है कि आप अक्सर एक Makefile के समान आदेशों के सेट के साथ एक स्क्रिप्ट और/या कॉन्फ़िग फ़ाइल बनाने के लिए, है, और उपकरण आपके उत्पादन बॉक्स में ssh होगा, अपने स्रोत का चेकआउट करें, और जो भी अन्य कदम आवश्यक हैं चलाएं।
इस क्षेत्र में उपकरण आमतौर पर पिछले संस्करण में रोलबैक के लिए सुविधाएं हैं। इसलिए वे आपके स्रोत को रिलीज़/निर्देशिका में देखेंगे, और यदि सभी ठीक हो जाए तो "वर्तमान" से "रिलीज़ /" तक एक प्रतीकात्मक लिंक बनाएं। यदि कोई समस्या है, तो आप एक कमांड चलाकर पिछले संस्करण पर वापस जा सकते हैं जो "वर्तमान" को हटा देगा और इसे पिछले रिलीज़/निर्देशिका से लिंक करेगा।
- Capistrano रेल समुदाय से आता है लेकिन सामान्य उद्देश्य है। कैपिस्ट्रानो के उपयोगकर्ताओं को कैपिस्ट्रानो के लिए तैनाती व्यंजनों का एक सेट, deprec में रुचि हो सकती है।
- Vlad the Deployer रेल समुदाय से फिर से कैपिस्ट्रानो का एक विकल्प है।
- अपनी खुद की खोल स्क्रिप्ट या मेकफ़ाइल लिखें। उत्पादन बॉक्स के लिए फ़ाइलों को प्राप्त करने के लिए
विकल्प:
- स्रोत से प्रत्यक्ष चेकआउट। हमेशा आपके लिए संभव नहीं है यदि आपके उत्पादन बॉक्स में विकास उपकरण, विशेष रूप से स्रोत कोड प्रबंधन उपकरण की कमी है।
- स्थानीय रूप से चेकआउट स्रोत, फिर इसे टैर/ज़िप करें। टैरबॉल ओवर कॉपी करने के लिए एसपीपी या आरएसआईएनसी का प्रयोग करें। इसे कभी-कभी अमेज़ॅन ईसी 2 परिनियोजन की तरह कुछ पसंद किया जाता है, जहां एक संपीड़ित टैरबॉल समय/बैंडविड्थ बचा सकता है।
- स्थानीय रूप से चेकआउट स्रोत, फिर इसे उत्पादन बॉक्स पर rsync।
पैकेजिंग उपकरण
अपने अनुप्रयोग के लिए फ़ाइलों से युक्त संकुल उत्पन्न करने के लिए अपने ओएस की पैकेजिंग प्रणाली का प्रयोग करें। एक मास्टर पैकेज बनाएं जिसमें निर्भरता के रूप में अन्य पैकेज हैं। RubyWorks सिस्टम इसका एक उदाहरण है, जो रेल स्टैक और नमूना अनुप्रयोग को तैनात करने के लिए उपयोग किया जाता है। फिर यह एपीटी, यम/आरपीएम, विंडोज एमएसआई, या किसी दिए गए संस्करण को तैनात करने का विषय है। रोलबैक में पुराने संस्करण को अनइंस्टॉल करना और पुनर्स्थापित करना शामिल है।
जनरल उपकरण ऐप्स/कॉन्फिग स्थापित कर रहा है और बनाए रखने के सिस्टम का एक सेट करने के लक्ष्य के
इन उपकरणों विशेष रूप से एक वेब अनुप्रयोग की तैनाती की समस्या की तैनाती/Apps का रख-रखाव की अधिक सामान्य समस्या को लक्षित नहीं करते, बल्कि/सर्वरों, या एक पूरी कंपनी के वर्कस्टेशन के सेट के लिए Configs। वे वेब डेवलपर की तुलना में सिस्टम व्यवस्थापक पर अधिक लक्षित हैं, हालांकि उन्हें उपयोगी भी मिल सकता है।
- Cfengine इस श्रेणी में एक उपकरण है।
- Puppet का उद्देश्य Cfengine पर सुधार करना है। यह एक सीखने की अवस्था है लेकिन कई लोगों को यह पता लगाने के लिए समय लगता है कि कॉन्फ़िगर कैसे करें। एक बार जब आप इसे प्राप्त कर लेंगे, तो प्रत्येक बॉक्स केंद्रीय सर्वर को समय-समय पर जांचता है और सुनिश्चित करता है कि सब कुछ अद्यतित है। अगर कोई फ़ाइल संपादित करता है या अनुमति बदलता है, तो यह पता लगाया जाता है और सही किया जाता है।तो, ऊपर तैनाती उपकरण के विपरीत, कठपुतली न केवल आपके लिए फ़ाइलों को सही जगह पर रखती है, यह सुनिश्चित करती है कि वे इस तरह बने रहें।
- Chef एक समान दृष्टिकोण के साथ कठपुतली से थोड़ा छोटा है।
- Smartfrog इस श्रेणी में एक और उपकरण है।
- Ansible सादा YAML फाइलों के साथ काम करता है और यह
का प्रबंधन करता है इस श्रेणी में इन की तुलना और कई और अधिक उपकरणों के लिए सर्वर पर चल एजेंटों की आवश्यकता नहीं है, विकिपीडिया लेख, Comparison of open source configuration management software देखते हैं।
वाह 7 साल बाद ... अब उपकरण का एक टन है विशेष रूप से एप्लिकेशन रिलीज ऑटोमेशन उपकरण। अधिक जानने के लिए यहां एक महान प्रारंभिक संसाधन है: https://en.wikipedia.org/wiki/Application_release_automation –