uberSVN分支后提交钩子

时间:2014-01-15 12:46:50

标签: svn jenkins redhat post-commit-hook ubersvn

我们正在使用安装在linux上的uberSVN。在存储库“ R ”中,我们有不同的分支,我需要触发jenkins作业,以便在特定分支“ B ”上进行提交。在 .... repository / R / hooks / 中有一个名为 post-commit 的文件。文件内容如下:

REPOS="$1"
REV="$2"

wget "http://jenkinsurl/job/project_r/build?tokten=r_token"

上面的脚本在提交repo时调用wget。另一方面,我想触发“分支工作”当且仅当分支“ B ”上的提交不是所有存储库时。 jenkis网址如下:

wget "http://jenkinsurl/job/project_r_b/build?tokten=r_b_token"

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

您可以调用svnlook dirs-changed来获取已提交修订中的更改路径。将此命令的输出传递给grep并搜索“branches / b”。如果命令的输出具有“/ branches / b”,则运行该作业。退出,否则。

请检查此问题以获取示例代码:Post-commit hook failed (exit code 3) with output

答案 1 :(得分:0)

您可以在Jenkin作业中使用Poll-SCM选项。将轮询间隔设置为每分钟* * * * *,或者您可以将轮询间隔设置为5或10分钟。每次轮询,这将检查您的svn分支是否有变化。如果有变化,构建将被触发,否则什么也没有。您可以在选项卡Build Triggers下的项目配置页面中找到此选项。