gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:28 26 4
gpt4 key购买 nike

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

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

git checkout -f

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

最佳答案

我认为最好的方法是不要更改 root 拥有的文件的权限。在你的钩子(Hook)中添加排除这种文件。

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

关于linux - 使用 Jenkins 在 git 中处理文件权限的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39290719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com