error: insufficient permission for adding an object to repository database .git/objects
权限不足报错,因为服务器上通过 jenkins 托管的项目文件、文件夹,owner 和 group 全为 jenkins,如图:
如果自己登录到服务器上,手动操作了一些东西,可能会改变文件的 group 和 owner,我这边的情况就是登录上服务器之后,执行了一些 git 命令,导致 .git 下的文件权限改变,如图:
因为我是通过 root 登录的,所以出现了一些 root 权限的文件,导致执行报错;找到了原因,那解决方法就清楚了,将 .git 下的全部文件 owner 和 group 改为 jenkins 即可:
chgrp -R jenkins .git/
chown -R jenkins .git/
顺利解决!
linux 系统下的文件系统设计还是非常经典的,一般都会推荐《鸟哥私房菜》系统的学习。