Capistrano执行production部署时Git可疑所有权错误求助
Capistrano执行production部署时Git可疑所有权错误求助
兄弟,你这问题我太熟了!你肯定是搞错配置位置了——这个安全目录的配置根本不该加在你的本地开发机上!
你仔细看报错日志就会发现,Capistrano执行部署时,所有Git相关操作(比如git remote set-url)都是在你的生产服务器上运行的,不是在你本地电脑。你在本地加safe.directory的配置,服务器上的Git根本读不到,自然还是会报错。
给你说具体解决步骤:
- 先通过SSH登录到你的生产服务器:
ssh deploy@你的服务器地址 - 在服务器上执行Git官方提示的那条命令:
git config --global --add safe.directory /home/deploy/myapp/repo - 退出服务器,回到本地重新运行
cap production deploy,应该就能正常部署了
补充下报错原因:Git新版本增加了安全校验机制,当仓库目录的所有权和执行Git命令的用户不一致时,就会抛出这个“可疑所有权”的错误。你服务器上的/home/deploy/myapp/repo目录大概率是用其他用户创建的,或者权限配置有偏差,添加这个安全目录例外就能绕过校验。
备注:内容来源于stack exchange,提问作者js7
相关产品推荐
相关产品推荐

