0

当使用 Capistrano 部署我的 rail 3 应用程序时,它会进入 capistrano 执行此命令的步骤:

   * executing "if [ -d /var/www/appname/shared/cached-copy ]; then cd /var/www/dflabs1/shared/cached-copy && git fetch -q origin && git fetch --tags -q origi
n && git reset -q --hard d0a1373a3634935de1a75f377698ba53574fe580 && git clean -q -d -x -f; else git clone -q https://github.com/username/dflabs1.git /va
r/www/appname/shared/cached-copy && cd /var/www/appname/shared/cached-copy && git checkout -q -b deploy d0a1373a3634935de1a75f377698ba53574fe580; fi"
    servers: ["11.10.1.162"]
Password: 
    [11.10.1.162] executing command
 ** [11.10.1.162 :: out] Username for 'https://github.com':

问题是,当它输出 "Username for 'https://github.com'" 时,光标会跳转到新行,而不让我输入用户名。如果我尝试在新行上输入用户名,则部署什么也不做。这发生在 Ubuntu 12.04 桌面到 Ubuntu 12.04 服务器上。

我尝试向 deploy.rb 添加 'set :scm_username' 选项,但没有效果。我在 Ubuntu 终端和 Aptana 内的终端视图中进行了尝试。

4

1 回答 1

0

尝试将部署服务器的 SSH 密钥导入 GitHub。

您可以在此处执行此操作:SSH 密钥。您可以在此处找到 SSH 密钥 (Github) 的教程:生成 SSH 密钥

[编辑] 实际上我只是自己做了并检查了输出。

您确定您set :repository, "git@github.com:[GitHub-User]/[GitHub-Repository-Name].git"在 deploy.rb 中正确设置了吗?

因为你的

else git clone -q https://github.com/username/dflabs1.git

看起来像

else git clone -q git@github.com:[GitHub-User]/[GitHub-Repository-Name].git
于 2013-01-01T20:29:42.297 回答