阅读this帖子让我想知道:对于一种情况,每晚构建比持续集成更好吗?答案的共识似乎相当偏向于持续集成,这是福音派的观点,还是当持续集成是一种选择时,真的没有理由使用夜间构建?
发布于 2009-01-06 16:16:59
如果你真的在与所有可用的测试进行持续集成,那么每晚的构建将是多余的,因为当天签入的最后一件事已经被测试过了。
另一方面,如果您的CI机制只涉及运行所有可用测试的一个子集,例如,因为您的一些测试需要很长时间才能运行,那么您可以额外使用夜间运行测试。这将让您及早捕获许多bug,如果您不能及早捕获它们,您至少可以在一夜之间捕获它们。
不过,我不知道从技术上讲,这是否仍然是CI,因为您每次都只是通过忽略一些测试来进行“部分”构建。
发布于 2009-01-06 16:28:00
在我们的组织中,夜间构建和CI构建有两个截然不同的目的。CI构建是一个“最新代码”构建,正如您所预期的那样,单元测试是针对最后一次签入运行的。我们还在CI构建上运行了几个代码指标。
然而,对于每晚的构建,我们只合并已经通过同行审查过程的源代码,并被认为已经准备好测试。
这样,夜间构建总是包含用于测试的“功能就绪”构建,而CI构建包含的功能虽然有效(达到单元测试通过的程度),但可能无法将其发送到测试组。
测试组专门从一个夜间构建中编写新的CRs,而不是CI构建,尽管这些构建也可用于非正式的探索性类型测试。
发布于 2009-01-06 16:16:31
是的,如果你有一个进程,你想附加到一个构建,但它是资源密集型的。例如,在我的团队中,我们在夜间构建时运行JTest。我们不能在白天运行它,因为:
需要4小时才能完成
https://stackoverflow.com/questions/417134
复制相似问题