我真的很喜欢 Hudson,但我看不到处理快速连续签到的方法。这个想法是每次签入都会进行一次冒烟测试,如果更改编号 1234 的回归在签入 1235 和 1236 之前没有完成,那么应该如何处理?是否由外部脚本来跟踪已运行的更改列表,或者 Hudson 是否会为您跟踪?我试图查看文档以了解如何处理它,但我找不到任何东西。
让我知道我的问题是否需要澄清。
我真的很喜欢 Hudson,但我看不到处理快速连续签到的方法。这个想法是每次签入都会进行一次冒烟测试,如果更改编号 1234 的回归在签入 1235 和 1236 之前没有完成,那么应该如何处理?是否由外部脚本来跟踪已运行的更改列表,或者 Hudson 是否会为您跟踪?我试图查看文档以了解如何处理它,但我找不到任何东西。
让我知道我的问题是否需要澄清。
您可以创建将修订号作为输入参数(例如 REVISION_NUMBER)的参数化构建(例如 SMOKE_TEST)。当然,结帐应该作为构建步骤之一(而不是触发器)来实现:
构建步骤:
然后实施另一个作业(例如 REVISION_CONTROLLER),它将监视源代码控制存储库的新修订。一旦找到新修订版,作业就会使用新修订版作为参数启动 SMOKE_TEST 实例,使用 SMOKE_TEST 作业的 Hudson HTTP URL,例如:http://server/job/SMOKE_TEST/buildWithParameters?REVISION_NUMBER= ...
SMOKE_TEST 的所有实例都将被放入队列中,因此如果 1234 未完成,1235 将等待。如果您想重新运行它,您还有机会为自定义修订启动冒烟测试。
一种实用的方法:
这不能保证每次提交都会编译(“冒烟”),但会关闭。Hudson/Jenkins 会为您跟踪更改 - 请参阅作业页面上的“更改”菜单项,以及每个构建页面上的“更改”菜单项。