Hudson如何同时处理多个签到?

时间:2011-03-03 00:48:21

标签: hudson regression

我真的很喜欢哈德森,但我没有办法处理快速连续登记。这个想法是每个签入都会进行一次冒烟测试,如果更改号码1234的回归没有在签入1235和1236之前完成,那该怎么办呢?是否有一个外部脚本来跟踪哪些更改列表已经运行,或者Hudson是否为您跟踪这些?我试图查看文档,看看如何处理,但我找不到任何东西。

如果我的问题需要澄清,请告诉我。

2 个答案:

答案 0 :(得分:1)

您可以创建将修订号作为输入参数的参数化构建(例如SMOKE_TEST)(例如REVISION_NUMBER)。当然,checkout应该作为构建步骤之一实现(而不是作为触发器):

建立步骤:

  1. 查看所需的修订版 在构建参数上 REVISION_NUMBER
  2. 运行烟雾测试
  3. 然后实现另一个作业(例如REVISION_CONTROLLER),该作业将监视源修改的源控制存储库。一旦找到新的修订版,作业就会使用SMOKE_TEST作业的Hudson HTTP URL作为参数启动SMOKE_TEST实例,并将其作为参数:http://server/job/SMOKE_TEST/buildWithParameters?REVISION_NUMBER= ...

    SMOKE_TEST的所有实例都将被放入队列中,因此如果1234未完成,1235将等待该事件。如果您想重新运行它,您还有机会开始进行自定义修订的冒烟测试。

答案 1 :(得分:0)

实用的方法:

  • 尽可能缩短第一份工作,如果必须的话,让它在事后触发更长的工作(f.ex.考虑目标编译与在Maven中安装)
  • 如果快速作业需要2分钟,请让它每2分钟轮询一次SCM

这不保证每次提交的编译(“冒烟”),但是关闭。 Hudson / Jenkins会跟踪您的更改 - 请参阅作业页面上的“更改”菜单项,以及每个构建页面上的“更改”菜单项。