显示警告提交后挂接失败(退出代码255),没有输出

时间:2019-06-28 15:00:29

标签: svn webhooks

当我尝试提交到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。

这与该权限类型有关吗?如何在这里找到问题?

1 个答案:

答案 0 :(得分:1)

根据SVN Book,提交后挂钩必须以0状态退出。所有非零状态均为错误,并且您的钩子(显然)无法正常工作,原因是

  

任何打印到stderr的钩子将被整理回   客户端,从而更容易诊断钩子故障

您必须intercept stderr|stdout output的wget并进行检查

仅需注意:我想,您忘了,钩子是在空环境中执行的,普通的svnlook uuid $REPOS不会返回任何内容(没有完整的svnlook找不到),并且notifyCommit已生成