【发布时间】:2013-02-16 01:17:45
【问题描述】:
我正在尝试使用 capistrano 将我的第一个 webapp 部署到 EC2,并且 repo 在 github 上。但我面临“上限部署:冷”的问题。 deploy.rb 粘贴在下面。以下是我遵循的步骤。
1) 从我的本地机器使用 ssh 登录到 ec2 实例。使用 ssh-keygen 生成的密钥,没有任何密码。
2) 获取 id_rsa.pub 的内容并复制到 github repo 设置部署密钥。
3) 然后从我的本地机器上运行“cap deploy:cold”。我收到以下错误
user1@laptop:~/MyExample$ cap deploy:cold
* 2013-03-01 19:08:06 执行deploy:cold'deploy:update'
** 交易:开始
* 2013-03-01 19:08:06 执行`deploy:update_code'
更新所有服务器上的缓存结帐
在本地执行:“git ls-remote git@github.com:user1/MyExample.git HEAD”
权限被拒绝(公钥)。
致命:远端意外挂断
* [deploy:update_code] 回滚
* 执行“rm -rf /var/www/MyExample.com/releases/20130301133835; true”
服务器:[“181.73.124.219”]
[181.73.124.219] 执行命令
命令在 1186 毫秒内完成
* 2013-03-01 19:08:06 executing
设置:应用程序,“MyExample.com” 设置:scm,“git” 设置:存储库,“git@github.com:thisuser/example.git”
default_run_options[:pty] = true
设置:用户,'ubuntu' 设置:use_sudo,真 设置:deploy_to,“/var/www/#{application}” 设置 :deploy_via, :remote_cache
角色:网络,“181.73.124.219” 角色:应用程序,“181.73.124.219” 角色 :db, "181.73.124.219", :primary => true
在“部署”之后,“部署:bundle_gems” 在 "deploy:bundle_gems"、"deploy:restart" 之后
命名空间:部署做 任务:bundle_gems 做 运行“cd #{deploy_to}/current && bundle install vandor/gems” 结尾 任务:开始做;结尾 任务:停止做;结尾 任务 :restart, :roles => :app, :except => { :no_release => true } 做 运行“#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}” 结尾 结束
我在这里缺少什么?此外,任何指向可以提供详细步骤的 URL/博客的指针都会有所帮助。
谢谢。
【问题讨论】:
-
我认为这似乎是密钥的问题,但不确定如何解决。任何帮助表示赞赏。
-
更多更新。我检查了help.github.com/articles/error-permission-denied-publickey 提供的帮助。一切都很好,甚至验证了附加到 github 帐户的公钥也是相同的。
标签: github ruby-on-rails-3.2 capistrano