capistrano部署在git ls-remote调用上请求USERNAME / PASSWORD

时间:2011-12-02 19:31:30

标签: ruby-on-rails ruby-on-rails-3 git github capistrano

第一次使用Capistrano用户,我已经设置了最好的部分,但是当我运行cap deploy时,我得到以下要求我的github用户名

Fri Dec 02$ cap deploy
  * executing `deploy'
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    executing locally: "git ls-remote https://github.com/uname/repo HEAD"
Username: 

我假设这在我的OS X笔记本电脑上本地运行。如果我运行git ls-remote https://github.com/uname/repo,系统会提示我输入USERNAME。但是,我可以运行git clone这个存储库,让我觉得本地ssh密钥设置正确。我在这里缺少什么?

THX

编辑#1 - 部署顶部.rb

set :application, "test-rails"
set :repository,  "https://github.com/uname/app"

set :scm, :git
set :user, "deploy"
set :deploy_to, "/data/sites/site.com/apps/#{application}"
set :use_sudo, false
set :keep_releases, 5

role :web, "173.230.xxx.xxx"

2 个答案:

答案 0 :(得分:6)

您正在使用HTTPS网址。这将忽略您的SSH密钥,您将不得不通过HTTPS进行基本身份验证。您希望自己的网址为ssh://git@github.com/uname/repo

(克隆有效,因为您可以匿名克隆,无需进行身份验证。)

答案 1 :(得分:0)

也许它会对其他人有所帮助: 在目标服务器上确保缓存仓库的凭据。 我缓存了我的第一个NON密码网址,无论我如何更新deploy.rb中的url它都没有更新原始

在我的情况下......

转到: / SRV / YOURREPONAME /共享/高速缓存拷贝

git remote show origin

确保您的来源与您尝试在deploy.rb

中设置的网址相同