Trigger Hudson构建于SVN提交之上

can*_*geo 12 svn hudson build

我已经设置了一个版本控制系统(Subversion),开发人员将使用它来提交和更新他们的代码(假设它的地址是https://server/svn/project).只有经过身份验证的用户才能访问项目的SVN.

另一方面,我已经安装了Hudson作为项目的持续集成服务器(项目的地址是server:8080/job/project).

我想实现以下目标:

  • 当有SVN提交时,Hudson构建将自动触发.
  • 当他们的提交代码没有构建时,Mails被发送给相应的开发人员(提交代码的人),这意味着当用户A提交不构建的代码时,只有用户A获得包含通知的电子邮件.

我为Hudson用户设置了基于矩阵的授权,因为我不想对任何人开放.

我已经看到了一些关于post-commit钩子的建议,但直到现在它们都没有工作.

有人可以建议对这两个问题做些什么吗?具体步骤将不胜感激.

Von*_*onC 7

根据"构建软件项目#通过Subversion/CVS中的更改构建",Hudson需要轮询您的SVN repo以检测更改并触发构建.

但是,这可以在SVN的每次提交时启动,就像在此线程中一样.
官方脚本位于Subversion插件页面.

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://server/hudson/subversion/${UUID}/notifyCommit?rev=$REV
Run Code Online (Sandbox Code Playgroud)

但是它被指定:

为此,您的Hudson必须允许对系统进行匿名读取访问.
如果对Hudson的访问控制更具限制性,则可能需要指定用户名和密码,具体取决于您的身份验证配置方式.