远程办公条件下,DevOps 如何加快研发交付
今天,我们聊一聊商城团队如何利用 DevOps 工具链进行远程研发。
我们的 DevOps 改进经历
DevOps,都是指端到端的 DevOps,从业务需求出发,经过协作开发、持续测试、持续部署,一直发布给客户使用的全过程。
2019年5-9月,集团 DevOps 团队给商城团队先后提供了系列 DevOps 实施方法、工具、应用实践培训及现场实操指导,其中包括工作流设计、流水线设计等,团队全员认真学习后进行了针对性的规划;2019年10月,商城团队正式启用基于 DevOps 工具链和工作流程的全新工作模式。经过2个月的磨合与调整之后,12月进入到了一个相对成熟完整的阶段。
基于 DevOps 工具链的全新工作模式
在整个工作流中,我们使用的基础工具包括JIRA、Gitlab、Jenkins,Sonar,Docker和Wiki。基于这些工具,我们又建立了三类基线式的技术管理方案,从基础的“代码基线管理”上,新增了“数据库基线管理”和“服务群基线管理”。在以上三类基线的支撑下,建立了一整套从需求到部署的全生命周期工作流程。
一个真实的案例
当商城团队接收到一个新需求时,我们会进行如下操作
01 创建故事
如下图中故事关联了微服务 tkpoms-ruleengine-sevice 后,此微服务下就自动基于此微服务 Master 分支创建了分支号为 TKPTEX-4133,开发同学可以拉取此分支,进行代码开发。
02 开发调试
在开发过程中,每次开发同学提交了代码之后,流水线将自动将代码进行检查,并部署在需求专属的特性环境中。开发和功能测试可以并行进行,并且在功能可见后,PO可以同步体验此故事的实际功能,并向业务团队进行演示。
03 版本制作
当用户故事完成测试和对外演示后,将计入待发布阶段。版本管理员在JIRA中创建版本后,各PO会将需要上线的故事及任务拖进此版本中。流水线自动创建出可发布的制品,并提交到UAT环境,由测试人员做最后的版本验证。当版本验证通过后,一个待发布的版本就完全准备好了。
04 正式发布
预生产环境和生产环境的操作一样通过流水线来完成。流水线使用这么久,最大的收益就是,UAT 环境版本功能验证没问题后,预生产环境和生产环境功能肯定没问题,这几个环境用的都是同一个镜像,生产发布顺利了很多。远程办公这一段时间,项目正常上线,已经上线过两次,大家彼此协作没有障碍。
疫情期间的思考
在团队管理层面上,因为JIRA与实际开发工作带有一种强绑定关系,也使得JIRA的任务记录相对精准。在沟通较为不便的条件下,团队管理者也能便捷的了解各项目需求的进展现状。
来自一线用户的真实声音
总结
来源:本文转自公众号 泰康云中心,点击阅读原文。
DevOps 助力远程办公,疫情期间,提升研发交付效率,GOPS 全球运维大会 2020 · 深圳站,更多精彩 DevOps 干货等你来~
近期好文推荐:
有了自动化就是 DevOps?浅谈 DevOps 的反模式
交付全链路数据,苏宁消费金融在 DevOps 度量设计的思考
流程可视化的利器:Jenkins BlueOcean
我只是下了个订单,鬼知道我在微服务里经历了什么…
DevOps 时代的软件过程改进探讨
震惊!DevOps CI/CD 竟然对抗击新冠期间的工作开展有这么大的作用?
“DevOps时代”公众号诚邀广大技术人员投稿。
投稿邮箱:jiachen@greatops.net 或 添加联系人微信:135 2116 9787(同微信)。
点击阅读原文,访问大会官网