我正在阅读Continius Delivery,在书中,作者说,只建立一次binarys至关重要,然后在每次部署时都使用相同的binarys。我有问题的理解是如何在实践中做到这一点?为了运行模拟的单元测试,可以进行特殊构建吗?我所指的是Maven中的范围标记。
答案 0 :(得分:0)
如果你看看Maven生命周期,你会发现你只有一个编译任务。对于您的测试,它们将在源编译后立即编译和执行。使用模拟单元测试,它是相同的:两个目标的两个独立编译。
我认为您的书的作者提到了在多个环境中自动部署时可能出现的问题:它创建了更多的调试环境。对于所有环境,必须只有一个最终二进制文件。如果你有几个二进制文件在你的环境中分开,你可以放心,你会忘记它们之间有什么不同,你给第一个而不是另一个给出哪个参数。对于持续交付,它必须在任何地方都一样。
让我们回到Maven。 Maven在其生命周期中有很多可能性。有时您必须运行多个构建来完成所有内容(例如代码覆盖)。这在您的持续集成过程中可能很有用,可以通过不同的构建类型(单元测试每小时,代码覆盖,质量分析和集成测试每天)完成。
但最后,当你进入持续交付时,你将构建一个最终的二进制文件,一个独特的二进制副本在你的环境中