2014-04-07 10 views
9

में टाइप नहीं कर सकता है, मैं रेल 4 एप्लिकेशन को तैनात करने के लिए कैपिस्ट्रानो 3 का उपयोग करने की कोशिश कर रहा हूं।कैपिस्ट्रानो 3 एसएसएच पासफ्रेज के लिए पूछने पर तैनात है लेकिन इसे

#config valid only for Capistrano 3.1 
lock '3.1.0' 

set :application, 'testapp' 
set :scm, :git 
set :repo_url, '[email protected]:sergiotapia/testapp.git' 

set :user, "deploy" # The user on the VPS server. 
set :password, "hunter2$$" 
set :use_sudo, false 
set :deploy_to, "/home/deploy/www/testapp" 
set :deploy_via, :remote_cache 
set :pty, true 
set :format, :pretty 
set :keep_releases, 1 
set :rails_env, "production" 
set :migrate_target, :latest 

namespace :deploy do 

    desc 'Restart application' 
    task :restart do 
    on roles(:app), in: :sequence, wait: 5 do 
     # Your restart mechanism here, for example: 
     # execute :touch, release_path.join('tmp/restart.txt') 
     execute :touch, release_path.join('tmp/restart.txt') 
     system "curl --silent #{fetch(:ping_url)}" 
    end 
    end 

    after :publishing, :restart 

    after :restart, :clear_cache do 
    on roles(:web), in: :groups, limit: 3, wait: 10 do 
     # Here we can do anything such as: 
     # within release_path do 
     # execute :rake, 'cache:clear' 
     # end 
    end 
    end 

end 

जब cap production deploy मैं निम्न संदेश मिलता है चल रहा है:

DEBUG [322bb1fd] Enter passphrase for key '/home/deploy/.ssh/id_rsa': 

जब मैं टर्मिनल में टाइप करें, मैं पात्रों देख सकते हैं, सामान्य रूप से आप सिर्फ जब पासवर्ड में टाइप खाली स्थान के दिखाई दे, तो ?

DEBUG [484154d4] Enter passphrase for key '/home/deploy/.ssh/id_rsa': 
qwef 

ewf 
qw 
ef 
qwef 
wqe 
f 
qwef 
wqe 
f 
^Ccap aborted! 
Interrupt: 

मैं पासवर्ड टाइप करता हूं और एंटर दबाता हूं, और यह बिना किसी नए विकास के वहां रहता है। वास्तव में टर्मिनल छोड़ने के लिए मुझे Ctrl + C करना होगा।

क्या मैं अपना एसएसएच पासवर्ड को deploy.rb फ़ाइल में सेट कर सकता हूं?

+0

क्या मुझे सर्वर को तैनात करने के लिए पासवर्ड-कम एसएसएच-कुंजी उपयोगकर्ता को जाना चाहिए? – sergserg

उत्तर

4

मुझे एक ही समस्या थी।

मैंने अपनी कॉन्फ़िगरेशन को बदलने के लिए क्या किया था। आदेश पदबंध आप तो फिर आप अपने तैनाती कुंजी जो भी कंप्यूटर में आप टर्मिनल में आग का उपयोग कर रहे उत्पन्न करने के लिए है

set :pty, false 

set` करने के लिए है के लिए पूछ Capistrano से बचने के लिए (आप एक बहुत अच्छा गाइड यहाँ https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git विशेष रूप से प्राप्त कर सकते हैं बात अगर आप bitbucket उपयोग कर रहे हैं) और चलाने cap production deploy

कि डिफ़ॉल्ट रूप से, Capistrano सेट हो जाएगा है forward_agent सच के रूप जो आपके कंप्यूटर में उत्पन्न रिमोट कोड रेपो में प्रमाणित करने के लिए कुंजी का उपयोग होगा।

+0

क्या आप कृपया मुझे बताएंगे कि कैपिस्ट्रानो में 'पासफ्रेज' क्या करता है? – VKatz

+0

@ विनी यह आपकी कुंजी के पासफ्रेज का प्रतिनिधित्व करता है – omrsin

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