技术学习分享_CKX技术 技术资讯 如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

广告位

作者:Tiger Wang,云智慧研发负责人&开源项目 FlyFish PMC。

本篇文章将从5个方向详细讲解如何借助自动化工具落地DevOps。首先会介绍传统迭代方式的弊端以及为什么要推出DevOps;接下来将讲解DevOps迭代方式的优点,以及如何借助自动化工具落地DevOps;后面两章着重分享如何把控DevOps落地过程中的关键环节以及低代码技术与DevOps的一些新探索。

传统迭代方式的弊端

在日常工作迭代方式中,开发团队进行开发设计和整体系统的构建,因此需要系统不停的迭代更新;运维团队则是将开发团队测试后的code进行部署上线,即保障系统稳定、安全的运行。因而,两个团队通过传统迭代便会引发下列几个弊端:

  • 团队独立:开发和运维团队的工作,是相互独立的。 彼此之前很少沟通,也不了解彼此的工作内容;

  • 易突发问题:手动进行代码部署,容易出现人为错误,严重的可能会对生产环境造成破坏;

  • 周期延长:开发和运维团队都有各自节奏,两个团队之间不同步,导致上线很难按时完。

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

接下来,我们将结合实际场景,展示在迭代过程中遇到的问题及痛点。

  • 运维团队需要整理容器、集群等相关部署的文档工作,但由于不了解服务的架构、依赖情况,导致部署文档整理变得复杂;

  • 由于运维同学对应用程序内部逻辑不清晰,导致无法独立判断应用程序的正常运行;

  • 运维团队对开发团队的进展一无所知,运维团队根据自己的理解制定监控计划;

  • 同样的一个产品、同样的一个环境,每次都需要进行手动部署,重复性工作太多;

  • 明明简单的安装部署,服务更新,但还都需要人员投入。优秀人员不愿意干,一般人员不放心。没有成长空间。

DevOps迭代方式和优点

DevOps是促进开发和运维团队之间的协作,以自动化和可重复的方式更快地将代码部署到生产环境中,在日常迭代过程中,具体有以下几方面优点:

  • 可预测性:DevOps大大降低了新版本的意外失败率;

  • 可重现性:对所有内容进行版本化,以便可以随时恢复早期版本;

  • 可维护性:在新版本崩溃或有问题的情况下,轻松回滚;

  • 降低成本:DevOps在开发过程中提高了效率,降低了研发成本;

  • 更高的质量:由于和运维团队紧密合作,产品问题尽早暴露;

  • 降低风险:DevOps在环节上增加了风险控制方面的内容,降低项目研发风险。

借助自动化工具落地DevOps

常用自动化工具介绍

在日常工作中,常用的自动化工具有JIRA、Gitee、sonarQube、Jenkins、Docker、JFrog,此外低代码数据可视化平台FlyFish也是不可或缺的一部分。

  • JIRA 主要应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域;

  • Gitee: 用于仓库及分支管理,代码扫描、漏洞检查等;

  • sonarQube: 通过PMD、CheckStyle、Findbugs等代码规则检测工具规范代码编写;

  • Jenkins: 主要用于持续或自动地构建/测试软件项目,以及监控一些定时执行的任务;

  • FlyFish 开源低代码可视化工具,可通过拖拉拽的形式形成可视化大屏,用于过程看板搭建;

  • Docker: 将运行环境和配置放在代码中并部署;

  • JFrog: 用于管理构建工具(如:maven、gradle)等所依赖的二进制仓库,以便管理第三方库和发布目标版本库,从而提高软件开发效率。

自动化工具落地DevOps工作流程

管理人员通过JIRA建立开发任务,并指定开发人员进行代码构建,以此进行任务追踪;开发人员将代码构建完成后推送至Gitee进行提交,提交完成后利用Gitee所对应的webhook推送至Jenkins;Jenkins接受到通知后可拉取分支代码,并通知对应的sonarQube进行代码扫描处理;扫描完成后,相关人员可看到代码扫描质量结果,与此同时可进行部分构建以及做出镜像;代码构建完成后会推送至Docker镜像,与此同时也可以放至JFrog中,开发人员后续便无需重复构建便可直接拉取。

自动化工具落地DevOps整体工作流程便是通过Jenkins通知服务器进行镜像拉取,拉取完成后进行构建,构建完成后通过FlyFish进行可视化。

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

如何把控关键环节

  1. 通过JIRA建立任务后,通过自带的仪表盘可查看指定开发人员的代码BUG数量,以此精准定位人员问题,进行管理改进;另一方面,可通过仪表盘中所展示的不同阶段下的BUG数量优化整体开发流程;此外,可通过任务数看板界面把控任务开发进度。

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

  1. 通过Gitee可查看拉取代码分支后的一些操作,包括代码是否及时merge、分支是否及时提交、扫描后的代码是否有漏洞或缺陷、构建后流水线的一些情况等,以此循环保证分支可健康运行。

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

  1. 通过Docker部署后可监控代码运行时的磁盘、内存消耗等情况,从而保证代码正常运行。

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

  1. 通过FlyFish创建的看板大屏监控各个工作流程的健康度。包括运营、监控、计划、开发、编译、测试、发布、部署等阶段。

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

低代码技术与DevOps探索

未来,低代码技术与DevOps会有更多的可能性。包括探通过低代码的方式把Jenkins关键指标进行把控;流程编排方面,包括事件触发、通知人员。抽象脚本、抽象对象、抽象action,把任务编排起来;数据打通方面,通过低代码打通DevOps过程应用,把过程中的指标轻易量化。

  • 与JIRA结合创建任务质量看板。

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

  • 与Gitee结合创建代码工程看板。

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

FlyFish开源福利

云智慧已开源数据可视化编排平台 FlyFish 。通过配置数据模型为用户提供上百种可视化图形组件,零编码即可实现符合自己业务需求的炫酷可视化大屏。 同时,飞鱼也提供了灵活的拓展能力,支持组件开发、自定义函数与全局事件等配置, 面向复杂需求场景能够保证高效开发与交付。

点击下方地址链接,欢迎大家给 FlyFish 点赞送 Star。参与组件开发,更有万元现金等你来拿。

GitHub 地址: https://github.com/CloudWise-OpenSource/FlyFish

Gitee 地址:https://gitee.com/CloudWise/fly-fish

超级体验官活动: http://bbs.aiops.cloudwise.com/d/712-flyfish

万元现金活动: http://bbs.aiops.cloudwise.com/t/Activity

微信扫描识别下方二维码,备注【飞鱼】加入AIOps社区飞鱼开发者交流群,与 FlyFish 项目 PMC 面对面交流~

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

本文来自网络,不代表技术学习分享_CKX技术立场,转载请注明出处。

作者: CKX技术

上一篇
下一篇
广告位

发表回复

返回顶部