第一次使用 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 key 设置正确。我在这里缺少什么?谢谢
编辑 #1 - deploy.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"
最佳答案
您正在使用 HTTPS 网址。这将忽略您的 SSH key ,并且您必须通过 HTTPS 进行基本身份验证。您希望您的 URL 改为 ssh://[email protected]/uname/repo
。
(克隆有效,因为您可以匿名克隆并且不需要进行身份验证。)
关于ruby-on-rails - capistrano 部署在 git ls-remote 调用上询问用户名/密码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8361563/