CODING 持续部署是 CODING DevOps 的子产品。持续部署指在软件开发过程中,以自动化方式,频繁而且持续性的将软件部署到生产环境,使软件产品能够快速的交付使用。作为持续集成的延伸,持续部署以持续交付的优势为根基,是实现 DevOps 闭环的核心流程,CODING 持续部署通过整合上下游,实现 DevOps 全流程管控。
CODING 持续部署用于把控构建之后的项目发布与部署交付流程。能够无缝对接上游 Git 仓库、制品仓库以实现全自动化部署。同时还支持 Webhook 等外部对接能力,高效集成各种开发、运维工具。在稳定的技术架构、运维工具等基础上,具备蓝绿发布,灰度发布(金丝雀发布),滚动发布,快速回滚等能力。
CODING 持续部署的主要功能包括部署控制台、云账号管理、权限控制与发布单等。
CODING 持续部署控制台基于 Spinnaker 实现,是一个支持多个云端服务(如:Kubernetes、腾讯云)的持续部署控制台。控制台中运维类角色可以管理待部署的应用列表,配置部署流程,查看和管理应用集群,对集群进行一些点对点的操作(扩缩容,停止,回退等)。在 部署控制台 中了解更多控制台设置。
在默认情况下,CODING 持续部署的权限控制:
团队所有者:具备部署管理权限
团队管理员:具备部署管理权限
团队普通成员:不具备部署管理权限
您可以在【团队管理】>【权限配置】中新增用户组中调整对应权限。
CODING 持续部署将「应用」定义为基本部署单位。应用包括若干功能集群以及安全组和负载均衡器等。同时应用也可以理解为您想要部署的服务、配置和运行所需基础设置等集合的抽象概括。推荐将单个应用对应微服务架构中的一个服务。
云账号是访问云平台的凭据。在控制台首页的【功能设置】>【持续部署】中绑定和管理云账号。目前支持 Kubernetes、腾讯云账号、腾讯云 TKE 三种账号。其中 Kubernetes 支持 Kubeconfig 文件和 Service Account 两种常用凭据。
云账号是持续部署的基础,当云账号设置完成后,部署控制台才能通过对应云平台的接口完成部署过程。访问 云账号了解更多。
部署流程由一系列阶段组成,旨在将持续部署过程流水线化。针对云平台基础设置,CODING CD 抽象概括出了部署、伸缩容和禁用等操作,并且还内置了人工确认和 Webhook 等功能以实现对持续部署工作流的精细化管理。访问 部署流程 了解更多详细设置。
CODING 持续部署支持配置发布策略,配合负载均衡、监控等运维工具实现金丝雀试验、灰度发布、蓝绿发布等能力。
CODING 持续部署可直接把应用的构建产物交付到应用市场,实现全自动上架。
CODING 持续部署支持在发布流程开始前,实现多场景的人工和自动化审批。
不论是 Docker 镜像,War 包,Helm 包,还是软件源代码,都可以配置在 CODING 持续部署中作为待发布制品,可无缝对接 CODING 制品库和 CODING 持续集成,实现全流程 CI/CD。
借助 CloudDriver 对持续部署过程完善的抽象机制,CODING 持续部署可以对接各类常见的运行时运维系统和云原生能力,如 CVM 云服务器、SCF 云函数、TKE 容器服务、传统 Linux 服务器、Kubernetes 集群、Docker Daemon、Tomcat Server 等。
微服务应用和集群概念可以方便地组织多微服务应用在多个不同集群环境(测试,预发布,生产)之间的发布流程控制、过程预编排、错误回退等能力。
预编排的审批流程可以让发布过程更为稳定可靠,根据发布流程的级别差异自动适配不同的审批流程。测试、产品经理、技术主管等角色都可以根据需求加入发布的审批环节中,配合自动化过程和通知机制,不但能做到快速发布,还能做到稳定发布。
CODING 持续部署在制品类型、集群提供器、CD 原子操作等层面直接沿袭 Spinnaker 的 CloudDriver,借助国际化的开源生态力量支持了更多的云原生能力和便捷扩展。