使用Jenkins在git中处理文件权限的最佳实践

时间:2016-09-02 10:57:22

标签: linux git jenkins permissions

我在git hook中为 pre-commit 创建了两个脚本,以保存权限文件中所有文件的Linux权限,并使用 post-checkout 来恢复权限权限文件。如果我手动执行git clone / checkout / commit,这工作正常。

但是,当我将Jenkins配置为签出项目时,它将运行以下命令:

  

git checkout -f

这使用 -f 选项并试图通过取消链接丢弃本地更改。这将为我的项目抛出权限被拒绝错误,因为Jenkins帐户无权删除某些文件(例如,权限文件包含具有root所有者的文件的条目)。在这种情况下,使用Jenkins构建项目但保留文件权限的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我认为最好的方法是不要更改root拥有文件的权限。在钩子中添加这种文件的范围。

但是如果你真的需要它,你可以使用sudo没有密码的Jenkins帐户。 UPD:在您的钩子脚本中将chmod更改为sudo chmod,并在/ etc / sudoers中添加jenkins localhost = NOPASSWD: /bin/chmod之类的字符串