Jenkins job with subversion polling + optional revision

Jenkins job with subversion polling + optional revision

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

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

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

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

我找到了解决方案:

1) String Parameter 的参数化作业具有 Name = SVN_PEG_PARAMETER默认值 = HEAD

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

3) 轮询 SCM 以所需的频率启用

这与指向默认修订版(HEAD)的轮询以及输入特定修订版的可能性一起工作。

但是有一个问题,在 运行 一个带有固定修订的构建之后,下一次轮询将再次触发对 HEAD

的提取

更新版本 <= 2.6

不幸的是,如果 @${SVN_PEG_PARAMETER} 在 URL.

为了解决这个问题,我对 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