tencent cloud

CODING 持续部署
持续、可控、自动化地把软件制品发布到服务集群中,助您实践持续部署
简介

CODING 持续部署(CODING Continuous Deployment,CODING-CD)用以管理软件在经过构建之后的发布和部署交付过程,可以无缝对接上游 Git 仓库、制品仓库实现全自动化部署,同时支持 Webhook 等外部对接能力,方便集成各种开发、运维工具。在配以合适的技术架构、运维工具的基础上,可以方便的实现蓝绿发布、灰度发布(金丝雀发布)、滚动发布、快速回滚等功能。

特性
发布多种构建产物
不论是 Docker 镜像、War 包、Helm 包,还是软件源代码,都可以配置在 CODING 持续部署中作为待发布制品,可无缝对接 CODING 持续集成和 CODING 制品库实现全流程 CI/CD。
完善的扩展生态
CODING 部署控制台基于持续交付基金会旗下开源项目 Spinnaker 实现,借助其国际化的开源生态力量获得了更多的云原生能力和便捷扩展。
灵活的发布流程编排
发布流程将持续部署流水线化,可以方便的组织起多微服务应用在多个不同集群环境(测试、预发布、生产)之间的发布流程控制、过程预编排、错误回退等能力。
支持多种运行环境
借助 Spinnaker 对基础设施完善的抽象机制,CODING 持续部署可以对接各类常见的运行时运维系统和云原生环境,例如 CVM 云服务器、SCF 云函数、TKE 容器服务、Kubernetes 集群等。
强大的审批系统
预编排的审批流程可以让发布过程更为稳定可靠,用户可根据发布流程的级别差异自动适配不同审批流程,测试、产品经理、技术主管等角色都可以根据需求加入发布的审批环节中,配合上自动化过程和通知机制,使发布过程更加高效。
静态网站服务
静态网站服务是 CODING 持续部署的特色功能,支持将您代码仓库中的代码或项目文件部署成一个静态网站,支持绑定自定义域名,自动续期 SSL/TLS 证书。可以用来搭建个人博客,企业官网等简易网站。
功能

持续、可控、自动化地把软件制品发布到服务集群中;支持蓝绿发布、灰度发布(金丝雀发布)等多种发布策略。


发布多种构建产物

不论是 Docker 镜像、War 包、Helm 包,还是软件源代码,都可以配置在 CODING 持续部署中作为待发布制品,可无缝对接 CODING 持续集成和 CODING 制品库实现全流程 CI/CD。


发布流程编排

发布流程将持续部署流水线化,可以方便的组织起多微服务应用在多个不同集群环境(测试、预发布、生产)之间的发布流程控制、过程预编排、错误回退等能力。


静态网站部署

静态网站部署是 CODING 持续部署的特色功能,支持将您代码仓库中的代码或项目文件部署成一个静态网站,支持绑定自定义域名,自动续期 SSL/TLS 证书。可以用来搭建个人博客,企业官网等简易网站。


上下游整合

CODING 持续部署作为腾讯云 CODING DevOps 产品的重要环节,未来会将应用、发布流程、发布单、审批流程等内容与 CODING 的敏捷项目管理、代码管理、持续集成、制品库进行深度整合,实现更顺畅的使用体验。

在 Spinnaker 的基础上,CODING 持续部署还将与下游的运维系统(日志系统、监控系统、CMDB 等)整合实现 DevOps 闭环。


相关概念

- 应用:是一个基础的发布单位,常常对应于微服务框架中的一个微服务。一次发布过程往往是对一个应用的软件版本进行升级。

- 制品:制品是从属于应用的一个概念,用以代表在发布过程中对应的软件和其版本,常见的制品有 war 包,Docker 镜像等。

- 集群:集群是应用的运行环境,通常一个应用会有测试集群,预生产集群,生产集群等若干个,集群内包含了应用运行所需的应用实例,负载均衡器,防火墙等内容。

- 发布策略:是指一个应用在发布过程中通过什么样的策略控制大规模集群中软件的版本变更。常见有灰度策略(金丝雀策略),滚动策略,蓝绿策略等。

- 发布流程:是指预先设定好的一系列发布操作的流程模板。常用于控制一次发布中不同应用发布版本的先后依赖顺序,并行串行等逻辑。

- 发布单:是指一个发布流程的执行过程,对应流程由运维类角色在部署控制台预置,由开发类角色在项目中提起;发布单结合审批流,可方便做人工审查,审计,风险控制。

- 审批流程:是指预先设定好的一系列发布流程执行前的审批操作模板,审批流程可以灵活的根据时间、版本、类型等情况跟不同的发布流程关联。

应用场景
持续部署是实现 DevOps 闭环的核心流程,CODING 持续部署通过整合上下游,实现 DevOps 全流程管控。
CODING 持续部署可配以合适的技术架构和运维工具实现蓝绿发布,灰度发布,快速回滚等能力。
CODING 持续部署支持在发布流程开始前实现多场景的人工和自动化审批。
客户案例
复旦大学
FOXCONN
嘀嗒出行
ZEGO 即构
墨刀
CMGE 中手游
C-life
更美
交银施罗德
明略科技
上上签
拉卡拉
常见问题

什么是持续部署?

持续部署(Continuous Deployment,缩写为CD)指在软件开发过程中,以自动化方式,频繁而且持续性的将软件部署到生产环境(production environment),使软件产品能够快速的交付使用。


CODING 持续部署支持哪些制品类型?

目前支持 Docker 镜像、Generic 文件,未来会扩展更多其他类型的支持,例如 Helm 包、War 包等。


CODING 持续部署支持哪些集群类型?

目前支持 Kubernetes、腾讯云 CVM、腾讯云 TKE、SCF 云函数,未来会基于 Spinnaker 的扩展机制,支持更多类型的应用集群。


如何发布源代码?

很多常见的动态语言是没有编译和构建过程的,可以在应用的部署流程制品设置中配置 Git 代码仓库指明文件路径后发布。