2010-12-05 18 views
5

मैं कैपिस्ट्रानो के लिए नया हूं और मैं सोच रहा हूं कि मेरी परियोजना के लिए कैपिस्ट्रानो कॉन्फ़िगरेशन का प्रबंधन करने का सबसे अच्छा तरीका क्या है।Capistrano विन्यास प्रबंधन के लिए अच्छा अभ्यास?

विशेष रूप से config/deploy.rb मेरे प्रोजेक्ट के स्रोत नियंत्रण के संबंध में कहाँ रहना चाहिए? क्या मुझे विशिष्ट कॉन्फ़िगरेशन जानकारी के बिना फ़ाइल का टेम्पलेट स्टोर करना चाहिए? या इस कॉन्फ़िगरेशन को टीम के बीच साझा किए गए अपने रेपो में बैठना चाहिए?

उत्तर

2

मैंने इस बारे में भी सोचा जब मैंने Capistrano को और अधिक उपयोग करना शुरू किया। मुझे लगता है कि हम में से अधिकांश सहमत हैं कि रनटाइम कॉन्फ़िगरेशन को कार्यात्मक कोड से अलग जानकारी को ट्रैक करना समझ में आता है? तो परिनियोजन विन्यास के बारे में भी यही बात सच नहीं होनी चाहिए?

मुझे लगता है कि आप अपने ./deploy/ फ़ोल्डर को एससीएम सबमिशन बना सकते हैं। आप एक रेक कार्य कर सकते हैं जो आपकी कामकाजी प्रतिलिपि में कैप्फ़ाइल उत्पन्न करता है ताकि आपको अंतिम पासवर्ड और ऐप के बाहर सामान रखना पड़े ... इसके लिए एक मणि भी उपलब्ध हो सकता है।

हालांकि मैं एक वैकल्पिक दृष्टिकोण के लिए चुना:

मैं लगभग दस विभिन्न अनुप्रयोगों, जो भर में Capistrano चर के बहुमत set(:deploy_to) {"#{base_dir}/#{environment}/#{application}"} के रूप में एक पैटर्न में इस तरह का पालन सकता है, और इसी तरह स्रोत कोड भंडार पथ के लिए।

मैंने सभी व्यक्तिगत अनुप्रयोगों से तैनाती के बारे में ज्ञान उठाया और इसके बजाय इसे एक अलग, सामान्य "परिनियोजन" परियोजना में रखा। अब मुझे लगता है कि परियोजना की जाँच और जा सकते हैं:

cap [some application] [environment] [deploy task] 

मैं इस पैटर्न/एक बहुत हर जगह Capfiles चारों ओर फैल रहा से ज्यादा चिंताओं की जुदाई पसंद करते हैं।

1

यह एक बहुत अच्छा सवाल है।

अंत में मैंने सभी तैनाती। आरबी से संबंधित सामान को एक तैनाती परियोजना में रखा और आवेदन परियोजनाओं से वहां सिम्लिंक किया। उस समय एक वेबिस्ट्रानो में देख रहा था क्योंकि यह व्यंजनों के अपने पूल को बनाए रखने में सक्षम था। जैसा कि प्रोजेक्ट अब और बनाए रखा प्रतीत नहीं होता है, मैं उपरोक्त दृष्टिकोण के साथ चला गया।

संबंधित मुद्दे