2013-06-03 3 views
5

साझा मैं फाइल config/secrets.yml जो साझा फ़ोल्डर में मेरी दूरस्थ सर्वर में हो गया है है। और यह मेरे गिट रेपो में नहीं है, इसलिए इसे अन्य नियमित फ़ाइलों के रूप में अपडेट नहीं किया गया है।Capistrano करने के लिए एक फ़ाइल की प्रतिलिपि करने के लिए कैसे फ़ोल्डर

मैं कैसे फ़ाइल पहली बार उत्पन्न पता नहीं है।

मैं पल तक क्या किया एक सिमलिंक हर बार मैं

run "ln -nfs #{shared_path}/config/secrets.yml #{release_path}/config/secrets.yml" 

जो "अद्यतन" प्रत्येक में फ़ाइल को तैनात करेगा, लेकिन पहली बार साथ तैनात बनाने के लिए है? पहली बार secret.yml कैसे उत्पन्न करें?

उत्तर

6

आप अपने .gitignore फ़ाइल में जोड़ने के लिए है:

/config/secrets.yml 

टोपी कार्य:

task :symlink_config, roles: :app do 
    run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml" 
    run "ln -nfs #{shared_path}/config/secrets.yml #{release_path}/config/secrets.yml" 
end 
after "deploy:finalize_update", "deploy:symlink_config" 

साझा फ़ोल्डर में .yml फ़ाइल मैं आमतौर पर इसे अपने आप को पैदा करते हैं।

+0

हम्म, 'स्वयं' हिस्सा मैं जो पूछ रहा हूं, क्या मुझे खुद को उस फ़ाइल को बनाना है? – juanpastas

+0

@juanpastats, हाँ आप 'SCP जैसे कि फ़ाइल बनाने के लिए, कुछ है /config/secrets.yml आप @ yourserver:/var/www/yourapp/साझा/config/secrets.yml' चाल करना होगा ... – Intentss

0

आप Capistrano v3.x का उपयोग कर रहे हैं, तो आप आसानी से :linked_files विन्यास चर इस लक्ष्य को हासिल करने के लिए उपयोग कर सकते हैं।

आप सुरक्षित रूप से config/secrets.yml.gitignore में जोड़ सकते हैं और capistrano के :linked_files कॉन्फ़िगरेशन चर का उपयोग कर सकते हैं।

कैपिस्ट्रानो आमतौर पर पर config/database.yml और config/secrets.yml के साथ एक टेम्पलेट लाइन जोड़ता है। आप सिर्फ इतना है कि लाइन है कि लगता है कि uncomment करना होगा: set :linked_files, fetch(:linked_files, []).push('config/database.yml', 'config/secrets.yml')

कैसे पहली बार के लिए secrets.yml फ़ाइल उत्पन्न करने के लिए के बारे में (यह निश्चित रूप से एक बार की कार्य है), तो आप rake secret चलाने के लिए है और गुप्त रखूँ फाइल में से उत्पन्न कुंजी। ऐसा लगता है:

development: 
    secret_key_base: <some alphanumeric hash> 
    some_key: 338a3312d82 
    some_secret: f5d9c3214e7b 
    other_environment: development 
    other_password: password 

production: 
    secret_key_base: <the key generated with `rake secret`> 
    some_key: 338a3312d82 
    some_secret: f5d9c3214e7b 
    other_environment: development 
    other_password: password 
संबंधित मुद्दे