持续部署介绍

持续部署 CD (Continuous Deployment)

持续部署指在软件开发过程中,以自动化方式,频繁而且持续性的将软件部署到生产环境,使软件产品能够快速的交付使用。作为持续集成的延伸,持续部署以持续交付的优势为根基,是实现 DevOps 闭环的核心流程,CODING 持续部署通过整合上下游,实现 DevOps 全流程管控。

CODING 持续部署用于把控构建之后的项目发布与部署交付流程。能够无缝对接上游 Git 仓库、制品仓库以实现全自动化部署。同时还支持 Webhook 等外部对接能力,高效集成各种开发、运维工具。在稳定的技术架构、运维工具等基础上,具备蓝绿发布,灰度发布(金丝雀发布),滚动发布,快速回滚等能力。

主要功能

CODING 持续部署的主要功能包括部署控制台、云账号管理、权限控制与发布单等。

  • 部署控制台:基于持续交付基金会旗下项目 Spinnaker,CODING 做了大量优化和改造,使控制台能够流畅地对接上下游研发流程,提供开箱即用体验。

  • 云账号管理:在云原生的场景下,云账号就是管理云基础设施的凭证,如 Kubernetes Service Account 或者腾讯云 API 密钥。您也可以在【团队管理】->【部署设置】中管理云账号。

  • 权限控制:团队管理员可以通过自定义不同类型的角色来授予对应的部署设置权限。建议添加独立的运维角色专门负责管理部署设置和部署控制台。

  • 发布单:指的是一个部署流程的执行过程,对应流程由运维类角色在部署控制台预置,由开发类角色在项目中提起;将发布单与审批流结合使用,可以方便地实现人工审查,审计,风险控制等功能。

使用 CODING CD 的优势

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

  • 支持多种运行环境:借助 Spinnaker 对基础设施完善的抽象机制,CODING 持续部署可以对接各类常见的运维系统和云原生环境,例如 CVM 云服务器、SCF 云函数、TKE 容器服务、Kubernetes 集群等。

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

  • 强大的审批系统:预编排的审批流程可以让发布过程更为稳定可靠,用户可根据发布流程的级别差异自动适配不同审批流程。测试、产品经理和技术主管等角色都可以根据需求加入发布的审批环节中,配合上自动化过程和通知机制,使发布过程更加高效。

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

  • 完善的扩展生态:CODING 部署控制台基于持续交付基金会旗下开源项目 Spinnaker 实现,在其国际化的开源生态的基础上做了大量优化和改造,使控制台能够流畅地对接 CODING 中的上下游研发流程,提供开箱即用的开发体验。

部署控制台

CODING 持续部署控制台基于 Spinnaker 实现,是一个支持多个云端服务(如:Kubernetes、腾讯云)的持续部署控制台。控制台中运维类角色可以管理待部署的应用列表,配置部署流程,查看和管理应用集群,对集群进行一些点对点的操作(扩缩容,停止,回退等)。在详细说明中了解更多控制台设置。

权限控制

在默认情况下,CODING 持续部署的权限控制:

  • 团队所有者:具备部署管理权限
  • 团队管理员:具备部署管理权限
  • 团队普通成员:不具备部署管理权限

您可以在【团队管理】->【权限配置】中新增用户组中调整对应权限。

应用与项目

CODING 持续部署将「应用」定义为基本部署单位。应用包括若干功能集群以及安全组和负载均衡器等。同时应用也可以理解为您想要部署的服务、配置和运行所需基础设置等集合的抽象概括。推荐将单个应用对应微服务架构中的一个服务。

云账号管理

云账号是访问云平台的凭据。在控制台首页的【功能设置】->【持续部署】中绑定和管理云账号。目前支持 Kubernetes、腾讯云账号、腾讯云 TKE 三种账号。其中 Kubernetes 支持 Kubeconfig 文件和 Service Account 两种常用凭据。

云账号是持续部署的基础,当云账号设置完成后,部署控制台才能通过对应云平台的接口完成部署过程。访问云账号了解更多。

部署流程

部署流程由一系列阶段组成,旨在将持续部署过程流水线化。针对云平台基础设置,CODING CD 抽象概括出了部署、伸缩容和禁用等操作,并且还内置了人工确认和 Webhook 等功能以实现对持续部署工作流的精细化管理。访问部署流程了解更多详细设置。

文档是否对您有用?
感谢反馈有用
感谢反馈没用