2013-04-04 7 views
10

मैं Capistrano v2.14.2 उपयोग कर रहा हूँ काम करने और deploy:create_symlink के लिए before और after हुक का उपयोग करने की कोशिश कर रहा है, लेकिन उनमें से कोई भी फायरिंग करने लगते हैं ... नहींकुछ Capistrano तैनाती हुक

मैं इस चेतावनी हो रही थी:

[Deprecation Warning] This API has changed, please hook 'deploy:create_symlink' instead of 'deploy:symlink'.

तो मैं deploy:symlink

यहाँ के बजाय deploy:create_symlink उपयोग करने के लिए मेरे कोड अद्यतन एक एस.एन. है

* 2013-04-04 13:34:27 executing `deploy:symlink' 
    * executing "rm -f /web/example.com/current && ln -s /web/example.com/releases/20130404203425 /web/example.com/current" 
    servers: ["app1"] 
    [app1] executing command 
    command finished in 467ms 

कोई हुक कहा जाता है ... deploy:finalize_update और deploy:update_code सभी के लिए

हुक्स किसी भी मुद्दे के बिना काम हो रहे हैं: मेरे deploy.rb

namespace :foo do 
    task :start do 
     puts "starting foo..." 
    end 

    task :stop do 
     puts "stoping foo..." 
    end 
end 

before('deploy:create_symlink', "foo:stop") 
after('deploy:create_symlink', "foo:start") 

यहाँ की ipplet उत्पादन का एक snipplet है ।

before और afterdeploy:create_symlink के लिए हुक का उपयोग करने में सक्षम होने के साथ क्या हुआ है?

उत्तर

5

मैं कैपिस्ट्रानो के उसी संस्करण का उपयोग करके एक समान समस्या में भाग रहा हूं। मैं capistrano-multistage का भी उपयोग कर रहा हूं, और मैं उत्सुक हूं अगर इससे कुछ समस्याएं उत्पन्न हो रही हैं (अभी तक एक सादे कैपिस्ट्रानो सेटअप का परीक्षण नहीं किया गया है)।

मूल रूप से, यदि आप तैनाती पर पहले/बाद में ट्रिगर में हुक करते हैं: symlink, यह आपको तैनाती का उपयोग करने के लिए कहता है: create_symlink, लेकिन तैनाती: symlink वास्तव में चलता है। अगर मैं उनमें से किसी एक पर ट्रिगर करता हूं, तो यह आग नहीं आता है।

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

http://blog.rememberlenny.com/2013/03/04/deploying-wordpress-with-capistrano-symlink-issue-fix/

यहाँ है मैं कैसे हल हो गई मेरी तैनाती: करने के लिए "के बाद तैनाती: finalize_update" ट्रिगर (के बाद से है कि पिछले काम था और यह वास्तव में चलाता है)

  • ले जाया गया मेरे "एक:

    • मेरी" सिमलिंक तैनाती से पहले "ले जाया गया fter तैनाती: सिमलिंक तैनाती के बाद "
  • 3

    परिवर्तन" करने के लिए ट्रिगर "

    "after deploy:symlink" 
    

    "after deploy" 
    
    +0

    को इस सवाल का जवाब नहीं है। वैसे भी अप्रैल 2015 के लिए Capistrano 3 के लिए, 'पहले' चेक: linked_files 'जैसे आदेश: do_stg {}' ठीक काम करते हैं। यह जांचने का एक तरीका है कि (शायद) काम कर रहा है 'बंडल exec cap -T' के साथ हुक की सूची प्राप्त करना है। –

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