12

我在默认分支上有一个带有 Mercurial 触发器的 Jenkins 构建作业,它可以很好地构建“发布候选者”。然后该作业开始冒烟测试作业。

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

我想要一个由任何分支的更改触发的 Jenkins 作业,然后它将为所有需要更新的分支构建和运行冒烟测试。每次我们进行构建时,我们都应该创建命名为匹配分支的工件。

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

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

4

2 回答 2

4

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

于 2012-09-05T19:51:13.147 回答
2

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

于 2012-02-16T11:54:40.547 回答