Jenkins CI和Github

时间:2016-03-04 12:58:26

标签: unix github jenkins permissions

我正在安装Jenkins以将对Github回购所做的更改推送到" live"我的服务器上的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

网站(及其所有子目录)的父目录由用户拥有" james"谁属于一个团体" sudo"。詹金斯有自己的用户" jenkins"自那以后我加入了小组" sudo"。作为" jenkins"和" james"是" sudo"成员和小组有权写,我不确定为什么会出现这个错误?

1 个答案:

答案 0 :(得分:1)

Adding a user to the group sudo不会使该用户成员与保护.git文件夹的用户成员相同。

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

您需要检查哪个组正在保护.git,或者如果它是root组,请修改jenkins脚本以便sudo git pull origin master

OP James Howell确认in the comments

  

我最终将目录的群组所有者更改为" jenkins"其中jenkins用户已经是其成员。