2009-12-30 4 views
31

के अपने आरवीएम संस्करण का उपयोग करने के लिए कैपिस्ट्रानो को कैसे कॉन्फ़िगर कर सकता हूं क्या कोई मुझे पता है कि मैं जिस सर्वर पर दबाव डाल रहा हूं, उसके लिए मेरे डिफ़ॉल्ट rvm रूबी के संस्करण का उपयोग करने के लिए capistrano कैसे बता सकता हूं। यह सिस्टम संस्करण का उपयोग करने पर जोर देता है।मैं रूबी

क्या यह भी संभव है?

+2

मैं एक जवाब में इस डाल नहीं कर रहा हूँ, क्योंकि मैं किसी और आशा करता हूं * वास्तव में * जानता है इसे कैसे करना है, लेकिन यह मेरी त्वरित अनुसंधान से लगता है आपको डिफ़ॉल्ट रूप से पहले अपने आरवीएम रूबी के पथ को शामिल करने के लिए 'पथ' चर बदलने की आवश्यकता होगी: http://kete.net.nz/documentation/topics/show/240-configuring-sudo-path-in-capistrano -तैनाती –

उत्तर

10

rvm-capistrano gem जाना सबसे अच्छा तरीका है।

Link to the official detailed usage of that gem। से है कि मैं इस अनुमान लगा रहा हूँ रूबी का स्थानीय संस्करण मिल जाएगा:

set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system 
+3

मुझे लगता है कि अधिक आधिकारिक तरीका 'सेट: rvm_ruby_string है: स्थानीय' –

+2

[capistrano-rvm] (https://github.com/capistrano/rvm) का उपयोग करके capistrano3 में, कुछ का उपयोग करें: 'set: rvm_ruby_version, 'JRuby-1.7.13'' – oozzal

36

आपके पास दो विकल्प:

  1. अपने ssh विन्यास फाइल
  2. उपयोग Capistrano :default_environment दूसरा विकल्प के लिए

की स्थापना में PermitUserEnvironment विकल्प का उपयोग .ssh वातावरण चर सक्षम, बस जोड़ें आपकी deploy.rb फ़ाइल में निम्न पंक्ति

set :default_environment, { 
    'PATH' => "/path/to/.rvm/ree-1.8.7-2009.10/bin:/path/to/.rvm/gems/ree/1.8.7/bin:/path/to/.rvm/bin:$PATH", 
    'RUBY_VERSION' => 'ruby 1.8.7', 
    'GEM_HOME' => '/path/to/.rvm/gems/ree/1.8.7', 
    'GEM_PATH' => '/path/to/.rvm/gems/ree/1.8.7' 
} 

सटीक स्थानों को देखने के लिए cat ~/.rvm/default

+2

आपका उत्तर इतना करीब है कि मैं इसे संपादित कर दूंगा ताकि यह सही हो ... –

+0

मुझे लगता है कि पहली पैथ सेटिंग 'पथ/से/.rvm/rubies/ree-1.8.7' मेरा आरवीएम स्थापना उपयोग रुबीज 'वैसे भी निर्देशिका है जो रूबी वास्तव में isntalled है – brad

+5

' आरवीएम जानकारी 'आपको सभी सही पथ और इस तरह मिल जाएगा। – Todd

7

देखें http://rvm.io/integration/capistrano/ देखें। "आरवीएम कैपिस्ट्रानो प्लगइन के माध्यम से एकीकरण" एक विजेता की तरह दिखता है।

और http://rvm.io/deployment/

+0

+1 http://rvm.io/integration/capistrano/ और 'आरवीएम-कैपिस्ट्रानो' मणि – Arnlen

21

अपने rvm संस्करण दोनों के विकास और उत्पादन मशीनों पर हाल ही में है, तो अपने deploy.rb से जोड़ें:

set :rvm_ruby_string, '[email protected]' # you probably have this already 
set :rvm_type, :user # this is the money config, it defaults to :system 
+3

का उपयोग इस के लिए यह क्यों मायने रखता है कि आरवीएम मेरी देव मशीन पर है? क्या यह केवल तभी महत्वपूर्ण नहीं है जब यह उत्पादन मशीन पर हो? – Hortitude