Jenkins使用subversion轮询+可选修订

时间:2016-05-09 17:31:15

标签: svn jenkins jenkins-plugins

我们有一个获取作业,通过1分钟轮询监视SVN的提交,然后触发N个继承其工作区的其他作业(使用克隆工作区插件)

由于从SVN结账开始到所有子作业完成的时间需要30分钟,因此在一天结束时,修订检出了更多的提交,我们希望在安静的时刻到在特定的中间版本

上启动获取作业

我发现SVN URL支持@ $ REQUESTED_REVISION,它可以在参数化作业中作为参数传递,但不幸的是,这似乎需要一个单独的工作。同时使用轮询和此选项会导致作业自动禁用(我假设配置错误)

我想知道是否有一个技巧可以在同一个工作中进行轮询和开始特定修订的可能性

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

1)参数化作业字符串参数 名称 = SVN_PEG_PARAMETER 默认值 = HEAD

2)存储库网址尾随 @ $ {SVN_PEG_PARAMETER}

3)轮询SCM 启用所需频率

这适用于指向默认修订版( HEAD )的轮询以及输入特定版本的可能性。

但是有一个问题,在使用挂钩版本运行构建后,下一次轮询将再次触发对HEAD的提取

版本的更新< = 2.6

不幸的是,如果 @ $ {SVN_PEG_PARAMETER} 位于网址的末尾,我的情况是每次轮询都会禁用svn结帐作业。

要解决此问题,我对https://github.com/giuspen/subversion-plugin/tree/atmel中可见的原始subversion插件进行了修改,其中不再需要 2)点(分支名称“atmel-2.6.0”,标签名称“2.6.0-Atmel”)

构建它并生成 target / subversion.hpi

git clone https://github.com/giuspen/subversion-plugin.git
cd subversion-plugin
git checkout atmel-2.6.0
mvn package -Dmaven.test.skip=true