当我尝试提交到svn存储库时,出现如下错误:
warning post-commit hook failed(exit code 255) with no output
然后,我将提交后的文件添加到 home / repository / pipeline / hooks 目录中。
我的提交后挂钩文件如下:
#!/bin/sh
REPOS="$1"
REV="$2"
UUID=`svnlook uuid $REPOS`
/usr/bin/wget \
--header "Content-Type:text/plain;charset=UTF-8" \
--post-data "`svnlook changed --revision $REV $REPOS`" \
--output-document "-" \
--timeout=2 \
http://<jenkins-Ip:port>/subversion/${UUID}/notifyCommit?rev=$REV
我的svn安装目录是/ usr / bin。
这与该权限类型有关吗?如何在这里找到问题?
答案 0 :(得分:1)
根据SVN Book,提交后挂钩必须以0状态退出。所有非零状态均为错误,并且您的钩子(显然)无法正常工作,原因是
任何打印到stderr的钩子将被整理回 客户端,从而更容易诊断钩子故障
您必须intercept stderr|stdout output的wget并进行检查
仅需注意:我想,您忘了,钩子是在空环境中执行的,普通的svnlook uuid $REPOS
不会返回任何内容(没有完整的svnlook找不到),并且notifyCommit已生成