无法 运行 svn 更新为 post-commit 挂钩中的 www-data
Cannot run svn update as www-data in post-commit hook
我在 Debian 下使用 svn,我通常使用特定用户提交我的 web 文件,这与 www-data 不同。
我的提交过程没问题,但我想编写一个 post-commit 挂钩,它能够执行 svn update AS www-data 到 svn 存储库的另一个工作副本,以测试代码的实时更新。
我正在尝试以这种方式编写 post-commit 挂钩:
sudo -u www-data /usr/bin/svn 更新
不幸的是,提交过程完成后我的工作副本没有更新。但是当我尝试在 CLI 中执行之前的 sudo 语句时,语句成功并且工作副本被正确更新。你有这方面的线索吗?
我已将 /etc/sudoers 配置为无需输入用户密码即可执行 sudo。
- Post-* 在空环境
中执行的 Subversion 中的挂钩
svn up
不带参数使用 .
作为目标,我不记得 hook-process 的当前目录(如果存在的话),但我想这不是你的 LIVE-WC,所以更好的方法是 /usr/bin/svn update /PATH/TO/LIVE
- 您可以将 stdout|stderr 重定向到文件中以便稍后查看一些详细信息(或者将 hook 的输出编组回您的 SVN 客户端并实时查看 hooks 操作 - 添加
1>&2
到尾部命令的一部分)
已解决。
问题出在我在 /etc/sudoers 中配置我的用户以访问 /usr/bin/svn 作为 www 数据的方式。我使用的语法完全错误。
现在我有一个名为 working_copy 的组,其中包含我的提交用户和 www-data。在 /etc/sudoers 我有这一行:
%working_copy ALL=(www-data:working_copy) NOPASSWD: /usr/bin/svn
前提是我的提交用户可以在没有密码的情况下执行 sudo。
无论如何感谢@LazyBadger!
我在 Debian 下使用 svn,我通常使用特定用户提交我的 web 文件,这与 www-data 不同。 我的提交过程没问题,但我想编写一个 post-commit 挂钩,它能够执行 svn update AS www-data 到 svn 存储库的另一个工作副本,以测试代码的实时更新。
我正在尝试以这种方式编写 post-commit 挂钩: sudo -u www-data /usr/bin/svn 更新
不幸的是,提交过程完成后我的工作副本没有更新。但是当我尝试在 CLI 中执行之前的 sudo 语句时,语句成功并且工作副本被正确更新。你有这方面的线索吗?
我已将 /etc/sudoers 配置为无需输入用户密码即可执行 sudo。
- Post-* 在空环境 中执行的 Subversion 中的挂钩
svn up
不带参数使用.
作为目标,我不记得 hook-process 的当前目录(如果存在的话),但我想这不是你的 LIVE-WC,所以更好的方法是/usr/bin/svn update /PATH/TO/LIVE
- 您可以将 stdout|stderr 重定向到文件中以便稍后查看一些详细信息(或者将 hook 的输出编组回您的 SVN 客户端并实时查看 hooks 操作 - 添加
1>&2
到尾部命令的一部分)
已解决。
问题出在我在 /etc/sudoers 中配置我的用户以访问 /usr/bin/svn 作为 www 数据的方式。我使用的语法完全错误。
现在我有一个名为 working_copy 的组,其中包含我的提交用户和 www-data。在 /etc/sudoers 我有这一行:
%working_copy ALL=(www-data:working_copy) NOPASSWD: /usr/bin/svn
前提是我的提交用户可以在没有密码的情况下执行 sudo。
无论如何感谢@LazyBadger!