2014-04-07 14 views
9

Tôi đang cố gắng sử dụng Capistrano 3 để triển khai ứng dụng Rails 4.Capistrano 3 triển khai yêu cầu mật khẩu SSH nhưng không thể nhập nó vào

#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 

Khi chạy cap production deploy tôi nhận được thông báo sau:

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

Khi tôi gõ vào thiết bị đầu cuối, tôi có thể nhìn thấy các nhân vật, thông thường bạn chỉ nhìn thấy khoảng trắng khi gõ vào mật khẩu, phải ?

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

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

Tôi nhập mật khẩu và nhấn enter và chỉ ở đó mà không có bất kỳ phát triển mới nào. Tôi phải Ctrl + C để thực sự rời khỏi thiết bị đầu cuối.

Tôi có thể đặt mật khẩu SSH SSH trong tệp deploy.rb không?

+0

Tôi có nên sử dụng khóa ssh không mật khẩu để triển khai máy chủ không? – sergserg

Trả lời

4

Tôi gặp vấn đề tương tự.

Điều tôi đã làm là thay đổi cấu hình của mình. Để tránh capistrano hỏi cho cụm từ mật khẩu bạn phải set`

set :pty, false 

Sau đó, bạn phải tạo ra các phím triển khai của bạn trong bất cứ máy tính bạn đang sử dụng để bắn các thiết bị đầu cuối (Bạn có thể tìm thấy một hướng dẫn rất đẹp ở đây https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git đặc biệt nếu bạn đang sử dụng bitbucket) và chạy cap production deploy

Cái này là theo mặc định, capistrano sẽ thiết lập các forward_agent như đúng mà sẽ sử dụng các phím tạo ra trong máy tính của bạn để xác thực trong các mã repo từ xa.

+0

bạn vui lòng cho tôi biết cụm từ mật khẩu nào có trong capistrano không? – VKatz

+0

@Vayay nó đại diện cho cụm mật khẩu của khóa của bạn – omrsin

Các vấn đề liên quan