Jenkins条件构建步骤基于从SVN更改的文件

时间:2015-03-25 15:35:20

标签: svn jenkins

我正试图找到一种方法让Jenkins根据SVN拉取中包含的文件类型有条件地执行构建步骤。也就是说,如果构建包含对任何SQL文件的更改,我想执行“数据库检查”构建步骤。

我的SVN服务器设置了一个PostCommit脚本,调用Jenkins来启动构建。此PostCommit脚本会检查提交中包含的文件类型,并根据文件类型调用相应的Jenkins作业。但是,在某些情况下存在重叠,并且单个解决方案具有多个作业似乎是一个维护问题。

到目前为止,我尝试使用Conditional BuildStep Plugin并使用表达式${CHANGES, showPaths=true}使用正则表达式匹配条件。我从这个SO答案中得到了这个表达的想法。

以下是条件步骤的样子: Imgur

当我尝试执行此Job时,我收到以下Jenkins错误,这听起来似乎不支持CHANGES令牌:

Run condition [Regular expression match] enabling prebuild for step [BuilderChain]
Exception caught evaluating condition: [org.jenkinsci.plugins.tokenmacro.MacroEvaluationException: Unrecognized macro 'CHANGES' in '${CHANGES, showPaths=true}'], action = [Fail the build]
Build step 'Conditional steps (multiple)' changed build result to FAILURE
Build step 'Conditional steps (multiple)' marked build as failure

1 个答案:

答案 0 :(得分:1)

此宏${CHANGES, showPaths=true}仅适用于电子邮件通知插件。

为您的任务更好地设置额外的结帐行为。我们在GIT中使用它,我认为SVN的工作方式相同。

enter image description here