1. 授权认证
  2. 获取用户个人信息
  3. 项目协同
  4. 代码托管
  5. 持续集成
  6. 制品仓库
  7. 测试管理
  1. 项目协同
  2. 代码仓库
  3. DevOps 实践之旅
  4. 一分钟开始持续集成之旅
  5. 持续部署
  6. 制品库

部署控制台

功能介绍

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

您可以在 CODING 团队首页中快速进入部署控制台。

功能结构

CODING 部署控制台主要包含两大功能模块,部署流程管理和基础设施管理。

部署流程管理

部署流程由一系列的「阶段」组成,能够将持续部署流水线化。部署流程可以手动触发执行,也支持配置自动触发,比如由 CODING Docker 仓库触发、Webhook 触发、定时触发等。此外,可以配置引用制品、参数、通知和串行并行逻辑。「阶段」是持续部署流程里的一个自动构建模块,您可以在部署流程中定义各个阶段的执行顺序,以实现灵活的自动化部署。CODING 持续部署提供了很多阶段模板供您选择使用,比如人工确认、前置条件检查、Deploy(部署)等。

部署策略

CODING 持续部署支持精细化的部署策略,比如红/黑(蓝/绿)部署、滚动红/黑策略和灰度部署等。用户可以为每个环境使用不同的部署策略,可以在测试环境中使用红/黑策略,生产环境里使用滚动红/黑策略。在部署策略中已经对必要的步骤进行封装,不需要复杂操作就可以实现企业级发布。

基础设施管理

CODING 持续部署基于 Spinnaker CloudDriver 组件,能够兼容适配不同的云平台,实现高效云资源管理。基础设施包含如下几块:

  • 服务组:服务组是最基本的资源管理单元,用于标识可部署的制品(如:VM 镜像、Docker 镜像)以及实例数量、自动伸缩策略、元数据等可配置项。服务组还可能关联负载均衡器和安全组。当部署完成后,服务组就相当于一组运行中的软件实例集合(如:腾讯云弹性伸缩组、Kubernetes pods)。

  • 负载均衡器:用于将外部网络流量重定向到服务组中的运行实例,支持指定一系列规则对运行实例做健康检测。

  • 安全组:定义了网络访问权限,由 IP、端口和通信协议组成安全组规则。

  • 集群:由用户定义的,对服务组的逻辑分组。

  • 应用:CODING 持续部署以应用作为基本部署单位。应用包含若干个应用集群、负载均衡器和安全组等。应用通常代表你想要部署的服务、配置、以及运行所需的基础设置。推荐将一个应用对应至微服务架构中的一个服务。

触发器改造

在保留 Spinnaker 部分原生触发器类型的基础上, CODING 部署控制台扩充了触发器类型,使之能够与 CODING 上游制品库匹配。目前支持 4 种触发器类型:

  • Git 仓库触发
  • Webhook 触发
  • 定时触发
  • CODING Docker 仓库触发

制品类型改造

在保留 Spinnaker 部分原生制品类型的基础上,CODING 部署控制台在 「Git 仓库文件」制品类型中扩充了对 CODING 代码库的支持,在 「Docker 镜像」制品类型中扩充了对 CODING Docker 镜像制品的支持。未来会支持 War 包、Helm 包等更多的制品类型。

名词解释

  • 实例:运行中的容器或 VM 实例。

  • Stack:由用户自定义的,对集群的逻辑分组,如 prod, staging, test

  • Detail:由用户自定义的,用于标识集群的三级字段。例如具有相同 \${Application}-\${Stack}-${Detail} 属性的服务组属于同一个集群。

上一篇权限控制
最近更新
感谢反馈有用
感谢反馈没用