持续交付的原则

时间:2019-01-13 19:14:09

标签: continuous-integration continuous-delivery

here所述,

以下是连续投放的原则。

Every build is a potential release
Eliminate manual bottlenecks
Automate wherever possible
Have automated tests you can trust

在传统的构建过程中,不使用连续交付方法,出于多种原因,我们在master分支中提交代码,主要是出于开发人员和测试人员之间的协作。

关于第一原则,每个提交如何成为潜在的发布?

2 个答案:

答案 0 :(得分:1)

这非常简单-如果您创建了一个提交并将更改推送到master,然后运行了构建,并且您的自动化测试都成功执行,那么该构建可以用作发行版。

因此,该原理与构建而不是提交有关,但是,如果您已配置为对推送到主数据库的每个更改都启动构建(Automate wherever possible原理),那么在这种情况下,它是同义词

答案 1 :(得分:1)

连续交付是持续集成的扩展,请参见How does continuous integration relate to continuous delivery / deployment?。然后从CI practices

  

每个提交都应在集成计算机上构建

是的,在CI / CD中,将构建每个提交,并且,如果满足所有CD标准(强调潜力!),则该提交是可交付的(如果{{1 }}中的CD代表部署。如果没有,则必须解决该问题。

例如由于业务需求或资源限制,可能会有一些例外,其中不会为每次成功的CI提交触发交付/部署管道。但这会使识别和修复回归变得复杂。

但是提交依赖于其他尚未提交的更改(如注释中所述)的更改与CI / CD方法不兼容。在这种情况下,仍可以使用feature toggles/flags和/或branch-by-abstraction技术来进行正在进行的提交,这些技术可以暂时隐藏不满足的依赖关系,以免引起回归。