2
我有一個使用自己的私鑰/公鑰對部署的Webistrano安裝程序。我想利用簡單的:remote_cache
策略,但不想將私鑰複製到部署服務器。webistrano ssh-agent
只要我有這些任務設置:
namespace :ssh do
task :start_agent do
ssh_options[:forward_agent] = true
result = `ssh-agent -t 600`
# Extract env variables
%w(SSH_AUTH_SOCK SSH_AGENT_PID).each do |key|
if result =~ /#{key}=(.*?);/
ENV[key] = $1
end
end
cmd = "ssh-add #{ssh_keys}"
result = `cmd`
end
task :stop_agent do
# Kill the agent started previously
`ssh_agent -k $SSH_AGENT_PID`
end
end
before 'deploy', 'ssh:start_agent'
這before :deploy
似乎工作的一半,但我有幾個問題:
- 我需要停止部署後活性劑(部署失敗後)。有沒有任何回調我可以鉤
ssh:stop_agent
任務? - 的
deploy:update_code
任務失敗,錯誤無法解析對庫「主」修訂「[email protected]:基礎/ mms.git」
任何人都可以擺脫任何這光?