腾讯蓝鲸团队是怎么做持续集成和部署的?
背景和痛点

蓝鲸的 CI/CD 设计和实践
- 传统模式
- 带集成的传统模式
- 容器模式
- 带集成的容器模式。
传统模式是业务运行在传统 OS 系统(虚拟机或物理机)上,但交付的包方式是二进制,这个在腾讯的代理游戏持续交付中比较常见(因为代理游戏游戏开发商是外部的,而运维是腾讯内部的,所以交付的包一定是编译后的二进制包)。
带集成的传统模式是业务运行在传统 OS(虚拟机或者物理机)上,也会带上源代码,这个在腾讯的自研游戏持续交付中比较常见。
另外,容器技术带来的技术变革,在 CD 方面发生了很大的变化,以至于模式又进一步延伸,CI/CD 中需要跟容器进行紧密的结合,有了容器模式和带集成的容器模式。以上几种模式都需要在设计 CI/CD 应用中充分考虑到。

CI/CD 工具链设计


蓝鲸 CI 核心功能 — 代码检查
使用 JFrog Artifactory 实现全球化仓库管理和工具链集成

图中所示,利用云石可以无缝对接蓝鲸的运维发布工具。所以在包归档中,容器归档我们用了 JFrog Artifactory 进行管理,二进制目前还是使用到自研的云石系统,CI 工具都整合了这些,使得用户可以根据自己的需求灵活使用。
小结