Jenkins 对SCM的配置中, 无法通过自己主动的向SCM poll的方式来实现per-commit的workflow。
但可以通过在SVN的服务端部署一个post-commit hook,由该hook来触发Jenkins对应job的一次执行,来实现该workflow。
也就是通过将整个事件的发起者由Jenkins主动的poll, 改为由SVN的hook来触发Jenkins的执行。
下面是一个取自perl脚本中一个语句:
`wget 'http://JenkinsURL/job/hook/buildWithParameters?SVN_REVISION=$rev'`;
$rev 变量可以有hook 脚本自动得到。
通过这种方式,就可以触发在Jenkins 中“hook” job的执行,并正确的赋值与job中的参数:“SVN_REVISION”。
这样在“hook” job中就可以同步版本库到该revision。 然后执行后续的build, test等需要的流程。
实现per-commit的workflow。
本文详细介绍了如何通过在SVN服务端部署post-commit hook,自动触发Jenkins job执行,实现per-commit工作流。通过hook脚本获取commit revision,正确赋值给job参数,实现版本库同步及后续流程自动化。
883

被折叠的 条评论
为什么被折叠?



