我在BitBucket上配置了公钥,它可以在SSH上运行,但是使用Capistrano它默认为错误的用户:
INFO [813163d1] Running /usr/bin/env git ls-remote --heads \
git@bitbucket.org:phec06/my-repo.git as **fedorius@localhost**
虽然它应该使用ubuntu
中指定的用户config/deploy/production.rb
:
server 'myserver.compute.amazonaws.com', user: 'ubuntu', roles: %w{app db web}
当我跑步时:
cap production deploy
它给了我:
DEBUG [813163d1] Permission denied (publickey).
DEBUG [813163d1] fatal: Could not read from remote repository.
我一整天都在寻找解决方案,而且我是卡皮斯特拉诺的新手:(
将Capistrano 3.6.1与Rails 5一起使用,使用Mac OS X部署到AWS Ubuntu
答案 0 :(得分:0)
我认为这是您的bitbucket帐户存在的问题,或者您在该帐户中使用了错误的ssh-key。请仔细检查您是否以**fedorius@localhost**
身份登录。试试以下
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
ssh -T hg@bitbucket.org
答案 1 :(得分:0)
找到了解决方案。
原来我有点傻了。我开始使用capistrano-scm-gitcopy
放弃了,但我离开了
set :scm, :gitcopy
在deploy.rb
上,删除此行可解决问题。