Canary Deployments

Canary Deployments

in GitLab Premium 9.1.

一种流行的策略,其中将一小部分机队更新为应用程序的新版本.

在采用持续交付时 ,公司需要决定要使用哪种部署策略. 最受欢迎的策略之一是金丝雀部署,首先将一小部分机队更新为新版本. 金丝雀的这个子集,然后在煤矿中成为众所周知的 .

利用Kubernetes 的 Canary 部署 ,无需离开 GitLab,即可在内部可视化您的 Canary 部署.

当您只想向部分 Pod 舰队提供功能并观看其行为时,可以使用 Canary 部署. 如果一切正常,您可以将该功能部署到生产中,因为它不会造成任何问题.

Canary 部署对于后端重构,性能改进或用户界面不变的其他更改也特别有用,但是您要确保性能保持不变或有所提高. 开发人员在使用面向用户的更改的 Canary 时需要谨慎,因为默认情况下,来自同一用户的请求将随机分布在 Canary 和非 Canary Pod 之间,这可能导致混乱甚至错误. 如果需要,您可能需要考虑在 Kubernetes 服务定义中将设置为ClientIP ,但这超出了本文档的范围.

  1. 请按照以下步骤 .

根据部署情况,标签应该是stable或 . 通常, stable且空白或丢失的标签表示同一件事,而或任何其他轨道表示金丝雀/临时. 这使 GitLab 能够发现部署是稳定的还是金丝雀(临时)的.

完成以上所有设置并且管道至少运行了一次之后,导航至” 管道”>”环境”下的环境页面. 随着管道的执行,部署委员会将清楚地标记金丝雀荚,从而可以快速,轻松地洞察每种环境和部署的状态.

Canary deployments are marked with a yellow dot in the Deploy Board so that you can easily notice them.