如何在Capistrano的deploy.rb中指明Git用户名和密码?

时间:2011-03-29 19:17:17

标签: git ssh capistrano automated-deploy

我正在使用github来存储存储库,我正在阅读Deploy with Capistrano

  

远程缓存将在您正在部署的服务器上保留本地git仓库   从那个而不是整个克隆运行一个提取“。

由于我正在部署的服务器是“我的”共享主机,我必须在那里安装git。

当我们这样做时,我们通常会定义一个git用户名和git密码。 我们应该将这些文件放在这个deploy.rb文件中?

到目前为止,我有:

set :application, "mysite.dev"
set :user, "myuser"
set :repository, "git@github.com:gituser/gitproject.git"
role :web, "dev.mysite.pt"
set :deploy_to, "/home/mysite/www/dev"
set :use_sudo, false
set :scm, :git
set :branch, 'master'

#set :deploy_via, :copy
#set :copy_cache, true
#set :copy_exclude, %w(.git)

set :deploy_via, :remote_cache

task :create_symlinks, :roles => :web do
run "rm #{current_release}/public/.htaccess"
run "ln -s #{current_release}/production/.htaccess
#{current_release}/public/.htaccess"
end

after "deploy:finalize_update", :create_symlinks

我们不应该在某处以某种方式在deploy.rb文件中放置对我的共享主机git密码的引用吗?

我有部署服务器用户:

set :user, "myuser"

这个密码是来自github用户的密码,还是我们应该放置共享主机密码?

set :scm_passphrase, "p@ssw0rd"  # The deploy user's password

1 个答案:

答案 0 :(得分:5)

要使用本地密钥(来自开发机器),请在脚本的开头添加:

ssh_options[:forward_agent] = true

set :user, 'myuser'是您要连接的Linux框的用户名。