CODING 持续部署(CODING Continuous Deployment,CODING-CD)用以管理软件在经过构建之后的发布和部署交付过程,可以无缝对接上游 Git 仓库、制品仓库实现全自动化部署,同时支持 Webhook 等外部对接能力,方便集成各种开发、运维工具。在配以合适的技术架构、运维工具的基础上,可以方便的实现蓝绿发布、灰度发布(金丝雀发布)、滚动发布、快速回滚等功能。
持续、可控、自动化地把软件制品发布到服务集群中;支持蓝绿发布、灰度发布(金丝雀发布)等多种发布策略。
不论是 Docker 镜像、War 包、Helm 包,还是软件源代码,都可以配置在 CODING 持续部署中作为待发布制品,可无缝对接 CODING 持续集成和 CODING 制品库实现全流程 CI/CD。
发布流程将持续部署流水线化,可以方便的组织起多微服务应用在多个不同集群环境(测试、预发布、生产)之间的发布流程控制、过程预编排、错误回退等能力。
静态网站部署是 CODING 持续部署的特色功能,支持将您代码仓库中的代码或项目文件部署成一个静态网站,支持绑定自定义域名,自动续期 SSL/TLS 证书。可以用来搭建个人博客,企业官网等简易网站。
CODING 持续部署作为腾讯云 CODING DevOps 产品的重要环节,未来会将应用、发布流程、发布单、审批流程等内容与 CODING 的敏捷项目管理、代码管理、持续集成、制品库进行深度整合,实现更顺畅的使用体验。
在 Spinnaker 的基础上,CODING 持续部署还将与下游的运维系统(日志系统、监控系统、CMDB 等)整合实现 DevOps 闭环。
- 应用:是一个基础的发布单位,常常对应于微服务框架中的一个微服务。一次发布过程往往是对一个应用的软件版本进行升级。
- 制品:制品是从属于应用的一个概念,用以代表在发布过程中对应的软件和其版本,常见的制品有 war 包,Docker 镜像等。
- 集群:集群是应用的运行环境,通常一个应用会有测试集群,预生产集群,生产集群等若干个,集群内包含了应用运行所需的应用实例,负载均衡器,防火墙等内容。
- 发布策略:是指一个应用在发布过程中通过什么样的策略控制大规模集群中软件的版本变更。常见有灰度策略(金丝雀策略),滚动策略,蓝绿策略等。
- 发布流程:是指预先设定好的一系列发布操作的流程模板。常用于控制一次发布中不同应用发布版本的先后依赖顺序,并行串行等逻辑。
- 发布单:是指一个发布流程的执行过程,对应流程由运维类角色在部署控制台预置,由开发类角色在项目中提起;发布单结合审批流,可方便做人工审查,审计,风险控制。
- 审批流程:是指预先设定好的一系列发布流程执行前的审批操作模板,审批流程可以灵活的根据时间、版本、类型等情况跟不同的发布流程关联。
持续部署(Continuous Deployment,缩写为CD)指在软件开发过程中,以自动化方式,频繁而且持续性的将软件部署到生产环境(production environment),使软件产品能够快速的交付使用。
目前支持 Docker 镜像、Generic 文件,未来会扩展更多其他类型的支持,例如 Helm 包、War 包等。
目前支持 Kubernetes、腾讯云 CVM、腾讯云 TKE、SCF 云函数,未来会基于 Spinnaker 的扩展机制,支持更多类型的应用集群。
很多常见的动态语言是没有编译和构建过程的,可以在应用的部署流程制品设置中配置 Git 代码仓库指明文件路径后发布。