【发布时间】:2014-11-26 20:20:56
【问题描述】:
夜间构建和持续集成有什么区别?仅仅是签入/构建/测试的频率吗?例如,如果每隔一小时或每分钟运行一个夜间构建过程,它是否与 CI 没有区别?
这个问题类似但不完全相同:Continuous Integration vs. Nightly Builds
【问题讨论】:
标签: continuous-integration nightly-build
夜间构建和持续集成有什么区别?仅仅是签入/构建/测试的频率吗?例如,如果每隔一小时或每分钟运行一个夜间构建过程,它是否与 CI 没有区别?
这个问题类似但不完全相同:Continuous Integration vs. Nightly Builds
【问题讨论】:
标签: continuous-integration nightly-build
持续集成侧重于每次签入时构建(和运行测试)。每夜构建每天执行一次,可能会减少测试的重点。
在实践中,触发构建和运行测试的持续集成签入可能与开发人员全天执行的签入是分开的。例如,它们可能仅在签入主干时发生,而当天的大部分开发都签入到分支中。鼓励这些情况相对频繁地发生,例如每天一次。
更频繁地构建会产生类似的结果,但可能会导致一些努力的浪费,即在没有任何变化的情况下运行测试。另一个可能的区别是,在持续集成中的每个构建都进行了大量的测试。有时需要开发人员干预来修复导致的错误。由于几个原因,这对于夜间构建过程会更加困难。包括更难将错误与一组特定的更改和责任方联系起来。
【讨论】:
这可能取决于测试的数量和需要多长时间。如果完整构建和完整测试需要几分钟时间,您可以在每次推送到源代码后以持续集成的方式运行它。
就我而言,我们的夜间构建大约需要 2 小时,构建所有源代码并运行所有测试。在日常构建中,我们仅构建一些库并运行一些测试,具体取决于分支和开发人员可能修改的内容。
【讨论】: