- 团队 Leader: 老李
- 运维:小胖
- 测试:小莉
- 后端:大熊
- 前端:阿强
- 后端(Python + Flask):https://linrp.coding.net/p/front-back-cd/d/flask-backend/git
- 前端(React):https://linrp.coding.net/p/front-back-cd/d/react-frontend/git
- 运维(Docker + Kubernetes):https://linrp.coding.net/p/k8s-yaml/d/k8s-yaml/git
- 前提准备
https://cloud.tencent.com/document/product/457/11741
- 创建项目和代码仓库
![DevOps 视角的前后端分离与实战](http://img.jiangsulong.com/220423/004A92521-6.jpg)
文章插图
突突突小分队 成员之间配合已经有相当的默契 , 在了解了 CODING DevOps 产品后 , 第二天(10 月 27 日)各自开始了有条不紊的工作:
- 后端大熊在项目 front-backend-cd 中创建后端代码仓库 flask-backend
- 前端阿强在项目 front-backend-cd 中创建前端代码仓库 react-frontend
- 运维小胖在项目 k8s-yaml 中创建代码仓库 k8s-yaml
- 测试小莉整理测试用例 , 根据 Leader 老李提供的接口文档编写后端 API 自动化测试代码
将 k8s-yaml 作为独立项目维护的原因是除了 front-backend-cd 项目 , k8s-yaml 也管理着其他项目的 Kubernetes yaml 文件 , 单独建库的目除了方便对 yaml 文件做版本控制 , 也便于开发和运维职责分明 , 开发不需要关注太多的运维基础设施(Kubernetes) , 主要精力放在编码、编译和构建镜像 。
- 持续集成
细心的前端阿强发现合并请求详情页正运行一个叫 合并状态检查 的任务 , 请教 Leader 老李后得知是合并请求触发的自动构建计划 , 其作用是:自动构建源分支与目标分支合并后的结果 , 能够尽可能早地发现集成中的错误 。如果合并状态检查失败 , 评审者不用过早介入代码 review 流程 , 开发者可以自行检查代码 。
![DevOps 视角的前后端分离与实战](http://img.jiangsulong.com/220423/004A95120-7.jpg)
文章插图
合并状态检查处点击 详情 可查看构建计划的执行详情:
![DevOps 视角的前后端分离与实战](http://img.jiangsulong.com/220423/004A94T5-8.jpg)
文章插图
果然 , 第一次合并状态检查失败 , 前端阿强根据构建日志 , 发现了一个低级的字符拼写错误 , 在内心深深的对自己鄙视一番后 , 立即修复 , 再次提交合并请求 。
前后端代码经 Leader 老李 review 合并到 release 后 , 会触发相应的构建计划 , 其起点都是代码检出 , 终点是将镜像推送到制品库 。
![DevOps 视角的前后端分离与实战](http://img.jiangsulong.com/220423/004A943D-9.jpg)
文章插图
![DevOps 视角的前后端分离与实战](http://img.jiangsulong.com/220423/004A93I9-10.jpg)
文章插图
- 持续部署
![DevOps 视角的前后端分离与实战](http://img.jiangsulong.com/220423/004A95Q3-11.jpg)
文章插图
添加云账号
作为云原生的先行团队 , 突突突小分队很早就采用腾讯云 TKE 作为生产环境 , 于是运维小胖添加了 TKE 类型的云账号 。
推荐阅读
- 如何挑选羊肩排
- 如何挑选玉米面
- 白茶的品质特征,天目湖白茶的品质特征判别
- 巴达古茶山的详细介绍,云南主要茶山巴达介绍
- 宝和祥的桃子青饼,勐海宝和祥冰韵青饼
- 如何挑选海鲜菇
- 如何挑选粘米粉
- 如何挑选淡菜?
- 如何挑选荔枝
- 如何挑选鳗鱼