Canary部署代码是否需要在较低的环境中进行测试?

时间:2019-02-16 01:59:03

标签: deployment kubernetes continuous-deployment spinnaker canary-deployment

我最近遇到了这种金丝雀部署过程,据说

Canary部署是一种用于将发行版发布到一部分用户或服务器的模式。想法是首先将更改部署到一小部分服务器,进行测试,然后将更改推广到其余服务器。金丝雀部署可作为预警指标,对停机时间的影响较小:如果金丝雀部署失败,则其余服务器不会受到影响。

提到的一些文章*这是“测试中的策略”。

这是否意味着未在较低环境中测试代码(集成和性能测试)?如果是,在没有代码信心的情况下,如何将这些部署排除在外?

请澄清我。预先感谢

1 个答案:

答案 0 :(得分:1)

Canary部署是一种逐渐向新服务器打开请求防火墙,同时继续使用已部署的服务响应大多数请求的方法。因此,是的,这确实是“生产测试”策略,但是其思想是,如果金丝雀掉了,就不会部署到整个集群中。

这个名字源于一个想法,即煤矿工人过去曾携带金丝雀,而金丝雀比人类对碳氧化物的影响更为敏感(一氧化碳既有毒又可能爆炸,如果二氧化硫排除了足够的氧气,就会使您窒息)。如果金丝雀在矿工身上盘旋而过,那就知道是时候该高尾了。