在一个 Jenkins CI 作业中轮询许多 SVN 项目



我遇到这样一种情况,即需要构建SVN中的Java项目链以实现持续集成。这些项目可以存在于多个分支中,我想在所有分支上执行 CI 构建。但是,我宁愿不要为每个Java项目/SVN分支组合使用不同的Jenkins项目。我所做的是创建以 SVN 分支为参数的 Jenkins 项目,并设置项目依赖链,传递分支参数。(我在这个项目中使用 Ivy,而不是 Maven,所以我没有插件来为我做这件事。我为每个分支设置了一个链启动作业,该作业定义了分支参数,并且每天自动启动几次。

优点:这允许我为每个分支创建一个 Jenkins 启动项目,而不是整个项目链。

缺点:构建按计划进行,而不是作为SVN轮询的结果。这意味着所有分支每天构建多次,即使该分支中没有进行任何更改也是如此。

理想情况下,我希望启动项目定期轮询链中的所有项目,如果有任何变化,则构建链。有没有办法做到这一点?它是否像指定启动项目中的所有项目位置(使用 branch 参数(然后指定轮询作为构建触发器一样简单?

如果我

理解正确的话:您想从您的"启动"工作中轮询许多SVN位置,但您不希望您的"启动"工作实际检查所有这些SVN位置?

您可以配置"启动"作业,为其提供所有可能的 SVN 位置(或顶级位置,例如/branches/下将包含所有分支(,并将结帐深度设置为。然后在此作业上配置 SCM 轮询。它将轮询所有SVN位置,但实际上不会执行冗长的结帐。一旦检测到 SCM 更改,您的启动工作将开始,并触发链的其余部分

相关内容

  • 没有找到相关文章

最新更新