如何配置Jenkins以从Mercurial中的不同分支构建项目

时间:2012-02-16 03:45:39

标签: mercurial hudson jenkins hudson-api

我在默认分支上有一个带有Mercurial触发器的Jenkins构建作业,适用于构建“候选版本”。然后,这项工作开始了烟雾测试工作。

我们使用每个功能的分支分支方案,因此在任何给定时间Mercurial中可能有多达十几个不同的活动分支(但活动分支会定期更改)。

我希望通过对任何分支的更改触发Jenkins作业,然后为所有需要更新的分支构建并运行冒烟测试。每次我们进行构建时,我们都应该创建与分支匹配的工件。

我在Mercurial触发器中使用“tip”而不是分支名称的另一个答案中看到了一个建议 - 这是一种可能性,但我认为它将属于“大多数工作”类别。触发器是轮询,因此如果在轮询间隔内发生多个分支的更改,则可能会错过分支更新。

每次创建分支时我都可以创建一个新工作,但由于我们分支机构的动态特性,这将是很多正在进行的工作。

2 个答案:

答案 0 :(得分:4)

如果您决定使用每个分支方法的作业,以下工具可以使任务更易于管理:

答案 1 :(得分:2)

我认为您需要自定义:顶级轮询作业(调到提示)运行自定义脚本,该脚本确定已更改或已添加的分支。然后,它将使用Jenkins API来启动由分支名称参数化的作业。该参数可用于您的作业,以通过分支名称(包括工件)自定义您需要的所有内容。