我正在尝试使用 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: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 毫秒内完成deploy:cold'
* 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
角色:web,“181.73.124.219”角色:app,“181.73.124.219”角色:db,“181.73.124.219”,:primary => true
在“部署”之后,“部署:bundle_gems”之后 在“部署:捆绑宝石”之后,“部署:重新启动”
命名空间:部署执行任务: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/博客的指针都会有所帮助。
谢谢。