Jenkins CI和Github的Unix文件权限问题

Jenkins CI和Github的Unix文件权限问题,unix,github,jenkins,permissions,Unix,Github,Jenkins,Permissions,我正在安装Jenkins,以便将对Github repo所做的更改推送到我服务器上的“实时”repo。 我已经在我的Ubuntu服务器上安装了Jenkins,并使用它的web界面安装了Github、Git和Github API插件。我还在Jenkins中创建了一个构建任务,当Github检测到对其repo进行了推送时,它会运行一些shell命令 命令正在运行,但我似乎遇到了权限问题。我在Jenkins控制台中遇到以下错误: + git pull origin master error: cann

我正在安装Jenkins,以便将对Github repo所做的更改推送到我服务器上的“实时”repo。 我已经在我的Ubuntu服务器上安装了Jenkins,并使用它的web界面安装了Github、Git和Github API插件。我还在Jenkins中创建了一个构建任务,当Github检测到对其repo进行了推送时,它会运行一些shell命令

命令正在运行,但我似乎遇到了权限问题。我在Jenkins控制台中遇到以下错误:

+ git pull origin master
error: cannot open .git/FETCH_HEAD: Permission denied

Build step 'Execute shell' marked build as failure
Finished: FAILURE
站点的父目录(及其所有子目录)由属于“sudo”组的用户“james”拥有。詹金斯有自己的用户“詹金斯”,我后来把他添加到“sudo”组中。由于“jenkins”和“james”都是“sudo”成员,并且该组具有写入权限,我不确定为什么会发生此错误?

不会使该用户成员与保护
.git
文件夹的用户成员属于同一组

它只允许将
jenkins
james
添加到
sudoers
,并作为
根执行命令(在所述
sudoers
中指定)

您需要检查哪个组正在保护
.git
,或者如果它是
根组
组,则修改
jenkins
脚本以
sudo git拉取原始主机

委员会确认:

最后,我将目录的组所有者更改为“
jenkins
”,
jenkins
用户已经是该目录的成员


谢谢你的回复。我最终将目录的组所有者更改为“jenkins”,jenkins用户已经是其中的一员。@JamesHowell太棒了!我已将您的评论包含在答案中,以提高可视性。