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

示例项目演示持续部署

功能介绍

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

将在下文以一个简单的 Flask App 为例,演示如何基于 CODING CD 快速实现持续部署。在开始之前,请确保您已了解 CODING 持续部署的基础概念

配置云账号

运维人员可以在 CODING 页面右上角头像下拉菜单【团队管理】->【部署设置】->【云账号】页面管理云账号。

添加 Kubernetes 云账号到 CODING 系统,本示例使用 Kubeconfig 认证方式。

点击确定,等待云账号验证(部署控制台会尝试确认账号的可用性,请耐心等待验证完成):

配置应用

成功添加云账号后,进入 CODING 部署控制台创建应用。

点击导航栏【应用】->【创建应用】,输入名称 “flaskapp” 。

新建应用表单字段解释:

字段 是否必填 说明
应用名 标识应用的唯一 ID,创建后不支持变更
应用描述 应用描述信息
云服务 目前支持 Kubernetes 和 腾讯云服务器两种云服务类型

如果想在 cd-demo 项目中提交发布单执行此应用的发布流程,需要把 flaskapp 这个应用与上文中的 cd-demo 项目进行关联。

可以在 CODING 页面右上角头像下拉菜单【团队管理】->【部署设置】页面,找到 flaskapp ,点击【绑定】:

配置部署流程

接下来创建部署流程,在应用列表点击 “flaskapp” 进入应用详情页,点击【部署流程】进入部署流程配置页面,再点击【创建】创建部署流程,类型选择 “部署流程”,部署流程名称输入 “deployTesting”。

进入部署流程配置页面,在开始配置部署阶段之前,可以为此流程设定:

  • 流程的执行选项(在此示例中我们保持默认即可)
  • 启动流程所需的制品包(在此示例中我们设置一个 Docker 镜像作为启动所需的制品包)
  • 启动流程的自动触发器(在此示例中我们设置当项目内的 CODING Docker 仓库有新 Docker 镜像版本的时候自动触发启动部署流程)
  • 启动流程所需的额外参数(在此示例中我们不需要额外的参数)

配置流程启动所需制品

此处配置的制品(Docker 镜像)将会被自动触发器和后续阶段引用。

配置 CODING 制品库镜像自动触发

绑定启动所需制品表单项选中 flaskapp-image 的含义是将启动所需制品配置的制品(Docker 镜像)作为部署流程触发器,当制品(Docker 镜像)有版本更新时,自动触发部署流程执行。

配置 Deploy(Manifest)Deployment 阶段

image 字段填写 docker 镜像的全路径;需要绑定的制品 处选择 flaskapp-image 进行绑定,指定 Kubernetes 集群使用 启动所需制品处配置的制品(Docker 镜像)进行部署。

⚠️ 若 CODING Docker 仓库的访问权限不是完全公开,需要在 manifest 文件中配置 imagePullSecrets。阅读更多:《部署 Kubernetes 资源时如何拉取私有库镜像?》

配置 Deploy(Manifest)Service(LoadBalancer 类型)阶段

继续添加阶段用于部署 LoadBalancer 类型的 Service:

自动触发部署流程执行

运维人员完成上述配置后,开发更新项目代码即可将应用自动发布到 Kubernetes 集群,在基础设施页面查看信息确认应用发布成功。

服务组信息:

负载均衡器信息:

负载均衡器页面右下角显示的 IP 即为负载均衡器暴露的外网 IP,点击 IP 即可访问 flaskapp 服务。

手动提交发布单

此外,开发人员也可以在项目内手动提交发布单。

发布成功后,点击发布单查看发布详情:

更多功能

查看基础设施信息

基础设施页面展示了运行环境的健康状况以及 Deployments 和实例的元数据信息。在集群页面,可以对资源进行伸缩容、禁用和回滚等操作作为部署服务的控制台,实现集群管理。

  • 左侧的过滤器可对所有服务进行筛选展示,支持字符串搜索,或者根据 region、stack 和 status 等特定属性进行过滤。

  • 中间区域展示所有部署服务,图中绿色的小滑块表示单独的实例(如腾讯云 CVM 实例、单个 Kubernetes Pod),滑块的个数对应实例的副本数。实例从属于某个服务组,服务组又从属于集群。

负载均衡器信息:

调整 Pod 实例数量

在集群详情页右侧点击 “Deployment Actions” 可对集群进行伸缩容、回滚、以 JSON 格式编辑集群配置等操作,这里以伸缩容为例。

  1. 在对话框中填写调整信息(此处将 Pod 实例数量由默认的 2 调整为 3)

  1. CODING CD 调用 Kubernetes 接口执行扩容操作

  1. 最后查看 Kubernetes Pods 信息可以看到扩容成功(绿色小滑块个数从 2 变为 3)

查看 Pod 日志

在实例列表中选择 Pod 实例查看详情,在右侧信息栏点击【Console Output(Raw)】可以查看 Pod 日志:

直接在控制台创建服务组

除了通过部署流程发布应用,CODING 控制台支持在页面直接创建服务组。进入【基础设施】页面,点击【集群】->【创建服务组】,在弹出框中选择 Kubernetes 类型,最后在 Manifest 配置页填写服务组信息:

点击【创建】,创建成功后即可看到服务组信息:

负载均衡器和安全组也支持以同样的方式创建。

相关资料

点击访问本示例使用的项目代码地址

CODING + Kubernetes 持续部署




CODING + Serverless 持续部署

上一篇快速上手持续集成
最近更新
感谢反馈有用
感谢反馈没用