查看原文
其他

远程办公条件下,DevOps 如何加快研发交付

DevOps小组 DevOps时代 2024-03-22
春节后受疫情影响,商城团队基本都是远程视频、远程开发。这些客观问题都不同程度上对现有工作产生了一些限制。然而在这个特殊时期,我们 2019 年所实施的 DevOps 改进大放异彩,为商城团队远程办公提供了坚实有力的支撑。特别感谢集团 DevOps 团队给我们的帮助,让我们在特殊时期多了一把利器,保证交付工作的正常开展。

今天,我们聊一聊商城团队如何利用 DevOps 工具链进行远程研发。

我们的 DevOps 改进经历

DevOps,都是指端到端的 DevOps,从业务需求出发,经过协作开发、持续测试、持续部署,一直发布给客户使用的全过程。

2019年5-9月,集团 DevOps 团队给商城团队先后提供了系列 DevOps 实施方法、工具、应用实践培训及现场实操指导,其中包括工作流设计、流水线设计等,团队全员认真学习后进行了针对性的规划;2019年10月,商城团队正式启用基于 DevOps 工具链和工作流程的全新工作模式。经过2个月的磨合与调整之后,12月进入到了一个相对成熟完整的阶段。

基于 DevOps 工具链的全新工作模式

在整个工作流中,我们使用的基础工具包括JIRA、Gitlab、Jenkins,Sonar,Docker和Wiki。基于这些工具,我们又建立了三类基线式的技术管理方案,从基础的“代码基线管理”上,新增了“数据库基线管理”和“服务群基线管理”。在以上三类基线的支撑下,建立了一整套从需求到部署的全生命周期工作流程。

一个真实的案例

当商城团队接收到一个新需求时,我们会进行如下操作

01 创建故事

所有要做的任务都是基于某一个具体问题。无论需求、开发、测试和部署,所有人都以此问题为焦点来开展工作。
基于业务交付物,PO创建用户故事。当用户故事在技术层面上涉及到某个具体服务模块,模块负责人则将此故事与自己的模块进行关联,并自动创建特性分支。

如下图中故事关联了微服务 tkpoms-ruleengine-sevice 后,此微服务下就自动基于此微服务 Master 分支创建了分支号为 TKPTEX-4133,开发同学可以拉取此分支,进行代码开发。

02 开发调试

在开发过程中,每次开发同学提交了代码之后,流水线将自动将代码进行检查,并部署在需求专属的特性环境中。开发和功能测试可以并行进行,并且在功能可见后,PO可以同步体验此故事的实际功能,并向业务团队进行演示。

03 版本制作

当用户故事完成测试和对外演示后,将计入待发布阶段。版本管理员在JIRA中创建版本后,各PO会将需要上线的故事及任务拖进此版本中。流水线自动创建出可发布的制品,并提交到UAT环境,由测试人员做最后的版本验证。当版本验证通过后,一个待发布的版本就完全准备好了。

此过程中可能涉及到的RELEASE分支的创建,特性分支合并,数据库脚本处理等一系列操作均有流水线自动完成。只有涉及到代码冲突和SQL脚本审核时,才需人工进一步确认。

04 正式发布

预生产环境和生产环境的操作一样通过流水线来完成。流水线使用这么久,最大的收益就是,UAT 环境版本功能验证没问题后,预生产环境和生产环境功能肯定没问题,这几个环境用的都是同一个镜像,生产发布顺利了很多。远程办公这一段时间,项目正常上线,已经上线过两次,大家彼此协作没有障碍。

疫情期间的思考

面对疫情的到来,我们的工作与生活出现了诸多不便。疫情对工作产生了诸多负面影响,主要体现在办公网络的限制和沟通效率的下降。但凡事福祸相依,疫情期的到来也意味着一种机会与变革。所有的不便都将作为一种驱动力,推动或者迫使我们改进现有工作模式,向着自动化、远程化的方向进一步前进。
在 DevOps 系列工具的支持下,从分支创建到最终部署,整个流程流转都是通过 JIRA 活动事件或各种图形化界面来完成。因其较高程度的自动化,使得操作者数量和操作动作数都在大幅下降,这点在远程办公时价值尤为突出。

在团队管理层面上,因为JIRA与实际开发工作带有一种强绑定关系,也使得JIRA的任务记录相对精准。在沟通较为不便的条件下,团队管理者也能便捷的了解各项目需求的进展现状。

来自一线用户的真实声音

在我们看来,比起对团队管理的提升,Devops 工具链更多是对一线开发人员的赋能,所以我们一直在了解一线开发人员的实践反馈,普遍都是好评。
—-“有了全套流水线,我们的开发效率提高了很多。操作起来更简单,大多数事都能自己办了”。
—-“远程办公使用这套流程确实大大解决了开发过程中的一些问题。要是像过去全程都是手动操作,那我想部署或者提测一个功能要找好多人,太麻烦了”。
—-“每个需求都有专用的公网测试地址,在远程环境下提交了代码之后,后续的运行结果在家就能看到,调试起来很方便”。

总结

本篇文章,我们主要给大家介绍商城团队 DevOps 应用远程研发的真实案例。泰康云DevOps 工具链及TDS平台自推广落地以来,受到了广大用户的关注和支持,DevOps 的应用优势也在本次远程办公中得到了很好的体现。
后续需要体验我们平台的同学欢迎主动与我们团队沟通。我们将持续为大家提供专业的平台和服务,为一线研发效能提升注入持续不断的活力。

来源:本文转自公众号 泰康云中心,点击阅读原文

DevOps 助力远程办公,疫情期间,提升研发交付效率,GOPS 全球运维大会 2020 · 深圳站,更多精彩 DevOps 干货等你来~

近期好文推荐:

有了自动化就是 DevOps?浅谈 DevOps 的反模式

交付全链路数据,苏宁消费金融在 DevOps 度量设计的思考

流程可视化的利器:Jenkins BlueOcean

我只是下了个订单,鬼知道我在微服务里经历了什么…

DevOps 时代的软件过程改进探讨

震惊!DevOps CI/CD 竟然对抗击新冠期间的工作开展有这么大的作用?

“DevOps时代”公众号诚邀广大技术人员投稿。

投稿邮箱:jiachen@greatops.net 或 添加联系人微信:135 2116 9787(同微信)。

点击阅读原文,访问大会官网

你点的每个赞,我都认真当成了喜欢
继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存