क्या वास्तव में Capistrano में एक "भूमिका" है?


86

एक Capistrano नुस्खा में "भूमिका" का उद्देश्य और कार्य क्या है? जब मैं नमूना व्यंजनों को देखता हूं, तो मैं अक्सर कुछ ऐसा देखता हूं:

role :app, 'somedomain.com'
role :web, 'somedomain.com'
role :db,  'somedomain.com', :primary => true

तो ऐसा लगता है कि एक भूमिका मूल रूप से एक सर्वर है जहां कैपिस्ट्रानो कमांड निष्पादित करता है। यदि ऐसा है, तो इसे "होस्ट" या "सर्वर" के बजाय "भूमिका" क्यों कहा जाएगा?

उपरोक्त उदाहरण में, भूमिकाओं :appऔर :webभूमिकाओं में क्या अंतर है ?

:primary => trueविकल्प क्या करता है?

जवाबों:


67

रोल्स आपको कैपिस्ट्रानो कार्यों को लिखने की अनुमति देते हैं जो केवल कुछ सर्वरों पर लागू होते हैं। यह वास्तव में केवल बहु-सर्वर पर लागू होता है। "ऐप", "वेब" और "डीबी" की डिफ़ॉल्ट भूमिकाएं भी आंतरिक रूप से उपयोग की जाती हैं, इसलिए उनकी उपस्थिति वैकल्पिक नहीं है (AFIK)

आपके द्वारा प्रदान किए गए नमूने में, कोई कार्यात्मक अंतर नहीं है।

": प्राथमिक => सत्य" एक विशेषता है जो कस्टम कार्यों में सर्वर को निर्दिष्ट करने में आगे की बारीकियों के लिए अनुमति देता है।

यहाँ कार्य परिभाषा में भूमिका विनिर्देश का एक उदाहरण दिया गया है:

task :migrate, :roles => :db, :only => { :primary => true } do
  # ...
end

अधिक व्यापक स्पष्टीकरण के लिए capistrano वेबसाइट @ https://github.com/capistrano/capistrano/wiki/2.x-DSL-Configuration-Roles-Role देखें ।


2
यह भी ध्यान दें: आपकी लाइन होनी चाहिए :only => { :primary => true } मुझे ... या roleप्रश्न में आदेश :master => trueइसके बजाय उपयोग करना चाहिए । मेरा मानना ​​है कि ये विशेषताएँ पूरी तरह से स्वतंत्र हैं।
डॉकवात

3

": प्राथमिक => सत्य" विकल्प बताता है कि डेटाबेस सर्वर प्राथमिक सर्वर है। उदाहरण के लिए, जब आप MySQL के साथ प्रतिकृति का उपयोग करना चाहते हैं, तो यह महत्वपूर्ण है। यह आपको एक और मिररड डेटाबेस सर्वर बनाने की अनुमति देता है जिसका उपयोग स्वचालित विफलता के लिए किया जा सकता है। इसका उपयोग यह तय करने के लिए भी किया जाता है कि किस डेटाबेस सर्वर पर मॉडल माइग्रेशन चलाया जाना चाहिए (क्योंकि उन परिवर्तनों को विफल सर्वर पर दोहराया जाएगा)। यह लिंक इसे और अधिक स्पष्ट करता है: https://github.com/capistrano/capistrano/wiki/2.x-from-the-beginning#back-to-configuration

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.