文章插图
配置应用和部署流程
添加完云账号后 , 运维小胖根据使用引导跳转到 CODING 部署控制台 , 分别创建了应用 flaskBackend 和 reactFrontend 。
文章插图
接着配置部署流程 , 运维小胖将 k8s-yaml 项目中的 manifest 文件以及制品库中的 docker 镜像配置为部署流程制品 , 并在 Kubernetes 资源部署阶段(Deploy(Manifest)-Deployment)引用 。
如图只有以 release- 为前缀的 docker 镜像才会成功匹配为发布制品
文章插图
在人工确认阶段 , 运维小胖将自己设置为确认人 , 并将测试小莉加入通知人列表 。
测试小莉也会接收到人工确认通知 , 虽然没有权限进行确认操作 , 但可以对发布过程 review , 以降低发布故障率 。
文章插图
将应用与项目关联
配置部署流程的过程中 , 由于对 CODING 部署控制台不够熟悉 , 一些小差错让运维小胖有点烦躁 , 但这些繁琐的步骤不过是第一次麻烦点 , 接下来将应用与项目关联后 , 发布过程就可以交给开发同学提交了 , 想到这儿小胖露出邪魅的微笑 。
文章插图
- 版本发布
Staging 虽然不是最终的生产环境 , 但在 DevOps 实践中其代码、制品、应用配置等跟生产环境都是保持一致的 , 除了意外情况 , Staging 发布验证无误后 , 就可以随时发布到生产坏境 。老李新建了一个版本发布 , 命名为 release-20200428.1(相应地创建了同名的 tag) , 表示 2020 年 10 月 28 日的第一次发布:
文章插图
此 tag 会触发 CI 构建 , 在 Jenkinsfile 中获取此 tag 的名称并应用到 docker 镜像 。
在项目内提交发布
后端大熊和前端阿强在项目内提交发布单 , 选择部署流程执行必需的制品(docker 镜像选择最新的版本 release-20200428.1) 。
文章插图
人工确认
部署流程执行到 人工确认 阶段 , Leader 老李和运维小胖收到了人工确认通知 , 小胖点击部署详情跳转到发布单详情页 , 确认制品信息无误后点击 继续执行 。
文章插图
2 分 43 秒后 , 发布成功!
查看发布信息
在【基础设施】->【集群】中查看发布成功的 Deployment 信息 , 可看到镜像版本与代码版本一致 , 如果生产环境出现故障 , 可快速追踪到对应的代码版本 , 进行修复工作 。
文章插图
测试小莉早已在运维小胖的提示下本地配置了 hosts , 打开浏览器输入 http://react-frontend.com 即可查看发布内容 。这样的版本肯定是不能发布到线上的 , 不过作为前后端分离的 DevOps 最佳实践 Demo , 它成功的完成了使命 。
文章插图
结语突突突小分队成功在五一劳动节前发布了第一个小版本 , 这次发布过程中 , 大家都感觉比以前舒心多了 。
- 后端大熊和前端阿强不需要自己写 k8s manifest , 可以将时间和精力专注在业务代码;
- 而运维小胖也不用像以前和女朋友约会时 , 还担心开发请自己在测试环境拉取更新镜像 , 现在他们可以实现自助发布 , 小胖想如果以后 CODING 开发了 App , 打开手机即可一键完成人工确认操作 , 那小日子不要太爽;
推荐阅读
- 如何挑选羊肩排
- 如何挑选玉米面
- 白茶的品质特征,天目湖白茶的品质特征判别
- 巴达古茶山的详细介绍,云南主要茶山巴达介绍
- 宝和祥的桃子青饼,勐海宝和祥冰韵青饼
- 如何挑选海鲜菇
- 如何挑选粘米粉
- 如何挑选淡菜?
- 如何挑选荔枝
- 如何挑选鳗鱼