DevOps 视角的前后端分离与实战( 三 )


DevOps 视角的前后端分离与实战

文章插图
 
配置应用和部署流程
添加完云账号后 , 运维小胖根据使用引导跳转到 CODING 部署控制台 , 分别创建了应用 flaskBackend 和 reactFrontend 。
DevOps 视角的前后端分离与实战

文章插图
 
接着配置部署流程 , 运维小胖将 k8s-yaml 项目中的 manifest 文件以及制品库中的 docker 镜像配置为部署流程制品 , 并在 Kubernetes 资源部署阶段(Deploy(Manifest)-Deployment)引用 。
如图只有以 release- 为前缀的 docker 镜像才会成功匹配为发布制品
 
DevOps 视角的前后端分离与实战

文章插图
 
在人工确认阶段 , 运维小胖将自己设置为确认人 , 并将测试小莉加入通知人列表 。
测试小莉也会接收到人工确认通知 , 虽然没有权限进行确认操作 , 但可以对发布过程 review , 以降低发布故障率 。
 
DevOps 视角的前后端分离与实战

文章插图
 
将应用与项目关联
配置部署流程的过程中 , 由于对 CODING 部署控制台不够熟悉 , 一些小差错让运维小胖有点烦躁 , 但这些繁琐的步骤不过是第一次麻烦点 , 接下来将应用与项目关联后 , 发布过程就可以交给开发同学提交了 , 想到这儿小胖露出邪魅的微笑 。
DevOps 视角的前后端分离与实战

文章插图
 
  • 版本发布
新项目启动的第三天(10 月 28 日) , 测试小莉上班第一件事是查看后端 API 自动化测试报告 , 中午饭点前前后端完成接口联调 , 下午小莉在测试环境上完成了功能测试 。是时候开始激动人心的 Staging(预发布) 发布了 。
Staging 虽然不是最终的生产环境 , 但在 DevOps 实践中其代码、制品、应用配置等跟生产环境都是保持一致的 , 除了意外情况 , Staging 发布验证无误后 , 就可以随时发布到生产坏境 。
老李新建了一个版本发布 , 命名为 release-20200428.1(相应地创建了同名的 tag) , 表示 2020 年 10 月 28 日的第一次发布:
DevOps 视角的前后端分离与实战

文章插图
 
此 tag 会触发 CI 构建 , 在 Jenkinsfile 中获取此 tag 的名称并应用到 docker 镜像 。
 
在项目内提交发布
后端大熊和前端阿强在项目内提交发布单 , 选择部署流程执行必需的制品(docker 镜像选择最新的版本 release-20200428.1) 。
DevOps 视角的前后端分离与实战

文章插图
 
人工确认
部署流程执行到 人工确认 阶段 , Leader 老李和运维小胖收到了人工确认通知 , 小胖点击部署详情跳转到发布单详情页 , 确认制品信息无误后点击 继续执行 。
DevOps 视角的前后端分离与实战

文章插图
 
2 分 43 秒后 , 发布成功!
 
查看发布信息
在【基础设施】->【集群】中查看发布成功的 Deployment 信息 , 可看到镜像版本与代码版本一致 , 如果生产环境出现故障 , 可快速追踪到对应的代码版本 , 进行修复工作 。
DevOps 视角的前后端分离与实战

文章插图
 
测试小莉早已在运维小胖的提示下本地配置了 hosts , 打开浏览器输入 http://react-frontend.com 即可查看发布内容 。这样的版本肯定是不能发布到线上的 , 不过作为前后端分离的 DevOps 最佳实践 Demo , 它成功的完成了使命 。
DevOps 视角的前后端分离与实战

文章插图
 
结语突突突小分队成功在五一劳动节前发布了第一个小版本 , 这次发布过程中 , 大家都感觉比以前舒心多了 。