2010-06-29 11 views
5

मैं अपनी रूबी रेल परियोजना पर तैनात करने के लिए कैपिस्ट्रानो का उपयोग कर रहा हूं। मैं एक ड्रीमहोस्ट वीपीएस पर हूं और कुछ हफ्ते पहले, कैपिस्ट्रानो या यात्री में कोई बदलाव नहीं होने के बाद, मुझे तैनाती के साथ एक अजीब समस्या का अनुभव करना शुरू हुआ:तैनाती: कैपिस्ट्रानो पर सिम्लिंक पिछले रिलीज के लिए "वर्तमान" निर्देशिका को इंगित करता है

हर बार कैपिस्ट्रानो मेरे आवेदन को तैनात कर रहा है, तैनाती को छोड़कर सब ठीक हो जाता है: symlink (जिसे डिफ़ॉल्ट रूप से कहा जाता है) जो "वर्तमान" निर्देशिका को नवीनतम रिलीज पर इंगित करना चाहिए। यद्यपि नई रिलीज को "रिलीज" निर्देशिका में ठीक से तैनात किया गया है, समस्या यह है कि "वर्तमान" सिम्लिंक हमेशा नए रिलीज़ के बजाय पिछली रिलीज पर सेट होता है। तो मैं ऐप को तैनात कर सकता हूं लेकिन मुझे हमेशा पंक्ति में दो बार तैनाती करना पड़ता है। http://img715.imageshack.us/img715/7803/capistranoproblemb.png

किसी और से पहले यह अनुभव किया है या मुझे इसे हल करने में मदद कर सकते हैं:

आप Capistrano लॉग यहाँ देख सकते हैं?

धन्यवाद!

उत्तर

6

मैंने इसे एक अतिरिक्त तैनाती कार्य के साथ हल किया जो नवीनतम रिलीज के सही पथ (नवीनतम_पैथ के बजाय रिलीज़_पैथ या उस तरह कुछ) के साथ एक अलग आंतरिक चर नाम का उपयोग करके सिम्लिंक को दोबारा शुरू करता है।


namespace :deploy do 
    desc "Recreate symlink" 
    task :resymlink, :roles => :app do 
    run "rm -f #{current_path} && ln -s #{release_path} #{current_path}" 
    end 
end 

after "deploy:create_symlink", "deploy:resymlink", "deploy:update_crontab" 
+4

नवीनतम कैपिस्ट्रानो में, यह 'तैनाती: symlink' के बजाय 'तैनाती: create_symlink' है। – manafire

+2

कृपया @knocte द्वारा दिए गए स्वीकृत उत्तर को बदलें। उपरोक्त क्लोज़ काम कर सकता है, लेकिन यह एक कोड गंध है। – JellicleCat

+0

@ जेल्लिकल कैट: कैपिस्ट्रानो का कौन सा संस्करण आप उपयोग कर रहे हैं? – knocte

6

मुझे लगता है कि @ जंगल का जवाब एक अच्छा समाधान नहीं है।

मुझे लगता है कि क्या होता है कि आप कैपिस्ट्रानो के this horrible bug का अनुभव कर रहे हैं। काम के आसपास के

रास्ता बग निम्नलिखित है: टास्क deploy होता पहले latest_release VARIABLE पढ़ें न करें।

+0

यह स्वीकार्य उत्तर होना चाहिए। इस बग के अनुसार मेरे कस्टम कार्यों को समायोजित करने से समस्या हल हो गई। – brendan

+0

@brendan: कैपिस्ट्रानो के किस संस्करण के साथ आपने बग को पुन: पेश किया? वे मुझसे पूछ रहे हैं कि जिथब मुद्दे में मैंने लिंक किया है ... – knocte

+0

ऐसा लगता है कि यह 2.15.4 @knocte – brendan

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