【发布时间】:2011-03-19 05:22:36
【问题描述】:
我正在使用 Capistrano 部署一个 ruby on rails 项目。我正在尝试以用户“部署”身份登录远程服务器并部署此应用程序。
当我 ssh 进入框作为部署和 git 克隆项目时,它可以工作
ssh deploy@remote_box
git clone git@github.com:lumdum/demo.git
但是,当我使用 Capistrano 运行时,它说权限被拒绝帐户 dorelal。 dorelal 是我在 GitHub 上的帐户。所以我认为 Capistrano 是在我的 Mac 上本地执行任务,而不是在 Redhat 上的远程服务器上。
Capistrano 确实是在本地运行该命令。当我执行
cap staging deploy -vvvv
这是我收到的错误消息
executing locally: "git ls-remote git@github.com:lumdum/demo.git master"
注意它说“在本地执行”。为什么 capistrano 在本地而不是在我的远程机器上运行它。
这是我的deploy.rb
set :stages, %w(staging)
require 'capistrano/ext/multistage'
set :repository, "git@github.com:lumdum/demo.git"
set :scm, :git
set :user, 'deploy'
set :use_sudo, false
set :keep_releases, 2
role :web, "serv1"
role :app, "serv1"
role :db, "db1", :primary => true
set :application, "demo_staging"
set :branch, "master"
set :deploy_via, :remote_cache
set :deploy_to, "/var/www/rails/demo"
set :scm_user, 'dorelal_lumdum'
set :user, 'deploy'
set :rails_env, "staging"
set :keep_releases, 1
【问题讨论】:
标签: capistrano