我们使用的是安装在linux上的uberSVN。在存储库"R“中,我们有不同的分支,我需要触发jenkins作业来提交特定的分支"B”。在.存储库/R/hooks/中有名为post的文件。文件内容如下:
REPOS="$1"
REV="$2"
wget "http://jenkinsurl/job/project_r/build?tokten=r_token"上面的脚本调用wget时,回购已经完成。另一方面,我希望触发“分支作业”当且仅当存在提交分支"B“时,而不是所有存储库。jenkis网址如下:
wget "http://jenkinsurl/job/project_r_b/build?tokten=r_b_token"做这件事的正确方法是什么?
发布于 2014-01-15 13:24:10
您可以调用svnlook dirs-changed在提交的修订中获取更改的路径。将此命令的输出输送到grep并搜索“分支/b”。如果命令的输出有“/分枝/b”,那么运行作业。退出否则。
检查这个问题以获得示例代码:Post-commit hook failed (exit code 3) with output。
发布于 2014-01-15 13:06:27
您可以在Jenkin作业中使用Poll-SCM选项。将轮询间隔设置为每分钟* * * * *,或者可以将轮询间隔设置为5或10分钟。在每次投票中,这将检查svn分支中是否有更改。如果有变化,构建将被触发,否则什么都不会发生。此选项可以在选项卡Build Triggers下的项目配置页中找到。
https://stackoverflow.com/questions/21137831
复制相似问题