2013-03-01 79 views
1

我想使用Capistrano的部署我的第一个web应用到EC2和回购在GitHub上。但是我正面临着“cap deploy:cold”的问题。 deploy.rb被粘贴在下面。以下是我遵循的步骤。Capistrano的EC2和github上 - 无法部署

1)使用ssh从我的本地机器上登录到EC2实例。使用ssh-keygen生成密钥而不使用任何密码。

2)注意到id_rsa.pub的内容,并复制到GitHub库设置部署密钥。

3)然后从我的本地机器上,运行“帽部署:冷”。我收到以下错误

USER1 @笔记本电脑:〜/ myexample中$帽部署:冷 * 2013-03-01 19点08分06秒执行deploy:cold'
* 2013-03-01 19:08:06 executing
部署:更新” **交易:开始 * 2013-03 -01 19:08:06执行`deploy:update_code' 更新所有服务器上的缓存结帐 本地执行:“git ls-remote [email protected]:user1/MyExample.git HEAD” 权限被拒绝(publickey)。 致命:远程端挂了出乎意料 * [部署:update_code]回滚 *执行 “室射频/var/www/MyExample.com/releases/20130301133835;真” 服务器:[“181.73.124.219 “] [181.73.124.219]执行命令 命令在1186ms


组完成:应用 ”MyExample.com“ 组:SCM, ”GIT中“ 组:储存库,” [email protected] :thisuser/example.git“

default_run_options [:PTY] =真

集:用户, '的ubuntu' 组:use_sudo,真 组:deploy_to, “/无功/网络/#{应用}” 组:deploy_via,:remote_cache

作用:网络, “181.73.124.219” 作用:应用程序, “181.73.124.219” 作用:分贝, “181.73.124.219”,:初级=>真

后 “部署”,“部署:bundle_gems “ 后 ”部署:bundle_gems“, ”部署:重启“

命名空间:部署做 任务:bundle_gems做 运行 “CD#{} deploy_to /电流& &捆绑安装vandor /宝石” 结束 任务:开始做;结束 任务:停止做;结束 任务:重启:角色=>:应用程序,:除了=> {:no_release =>真}做 运行“#{} try_sudo触摸#{File.join(的current_path, 'TMP', 'restart.txt' )}“ end end

我在这里错过了什么?此外,指向可以提供详细步骤的URL /博客的任何指针都会有所帮助。

谢谢。

+0

我相信这似乎是一个关键问题,但不知道如何 修理它。任何帮助赞赏。 – sthustfo 2013-03-01 15:33:35

+0

更多更新。我检查了https://help.github.com/articles/error-permission-denied-publickey提供的帮助。一切都很好,甚至验证了连接到github账户的公钥也是一样的。 – sthustfo 2013-03-01 17:21:31

回答

0

我设法让它工作。如日志所示, 本地执行:“git ls-remote [email protected]:user1/MyExample。混帐HEAD”

Capistrano酒店正试图运行上面的命令本地机器,而不是在服务器上的终端上运行上面的命令也返回相同的错误。 - 权限被拒绝(公钥)

所以我必须将生成的id_rsa和id_rsa.pub从部署服务器复制到本地机器,并在复制之后,通过运行“ssh-add/path/to/keys”将其添加到正在使用的ssk密钥中。添加这些键后,我能够继续前进。