我眼中的DevOps

简介: DevOps 是由开发(developments)和运维(operations)两个单词组成,可以看做是开发、测试和运维之间的一个交集,通过一些列固化的流程来使得整个项目的开发周期变得更便捷和可靠。

DevOps 在IT行业内近几年来在不少企业得到广泛应用,那么DevOps到底是什么呢?接下来让我们一起做一个简单的了解吧。

DevOps简介

   DevOps 是由开发(developments)和运维(operations)两个单词组成,可以看做是开发、测试和运维之间的一个交集,通过一些列固化的流程来使得整个项目的开发周期变得更便捷和可靠。其核心是CI/CD(持续集成和持续发布),即通过自动的触发代码构建、发布、测试、监控等一系列自动化的操作,来提升工作效率,代替反复且容易出错的手工操作。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作


DevOps流程介绍

   下面给大家简单的介绍一下一个比较简单的devops流程,也是我在第一家公司里面的流程:


微信图片_20220113144123.png


1、开发人员提交代码到源码管理仓库(git/svn),源码管理的话 ,现在公司大部分都自己搭建了gitlab服务器,并对接了公司的ldap域认证,对每个用户的权限进行严格的控制

2、代码提交后,自动出发代码编译操作,检查是否能编译通过,能编译通过,就接着出发代码扫描(包括代码编写风格、是否有安全漏洞之类、语法错误之类的),有写单元测试脚本的话也顺带执行一下单元测试脚本。在这个过程中,针对不同的编程语言,需要集成不同的插件或工具去进行扫描。

3、发布代码到指定的环境。测试阶段的话,一般检测到代码变更后,可以在构建后自动发布到测试环境,生产环境的话,则需要在验证通过之后才能发布。在这中间会搭建仓库用来存储版本发布的相关部署包。

4、发布成功后,运行测试人员写好的验证脚本进行回归验证,如果这个过程中有任何一个环境出现报错的话,可以以邮件或者其他方式提醒用户

补充说明:以上只是列举了一个最简单的流程,全流程都是可以实现自动触发操作,不需要手动操作。在这中间还可以根据自己公司的实际业务情况,进行一些环节的删减操作,在这小编再列举一下小编待过的第一家公司的devops流程实现的一些功能:

   统计开发人员每天、每周提交的代码量,某个项目针对某个版本的代码变化量,代码行数、代码未解决的bug数量

   自动发布测试环境,自动执行测试用例

   自动扫描代码,检查是否有安全漏洞,可以采集一些数据做一个简单的报表 ,给公司的QA分析各个项目每月的版本质量情况以及研发的效率。


自己搭建DevOps平台需要用到的一些工具

   下面就简单的介绍一些我了解过的工具(当然也有一些其他的工具我没接触过的)

  • 源代码管理工具:git、svn
  • 持续集成工具:jenkins
  • 仓库管理:nexus、artifactory  (管理jar包,dll文件,docker镜像等)
  • 代码编译工具:maven、ant、gradle
  • 配置管理/自动化部署工具:chef、ansible等
  • 其他:要准备对应的服务器、搭建服务器监控平台

本次就先分享这么多 ,要搭建和维护好devops平台,还需要去了解一下shell、batch脚本,以及一些其他脚本,方便处理一些复杂的操作。接下来我将根据自己的记忆,陆续分享一些在这个过程中用到的技术点,大家在学习devops相关内容时遇到问题 ,也可以与小编一起讨论,小编也很愿意与大家一起去学习这个行业的一些技术。




相关文章
|
3月前
|
运维 监控 Devops
DevOps文化下的运维自动化实践
【8月更文挑战第24天】本文将带你走进DevOps文化,探讨如何在运维工作中实现自动化,从而提升工作效率和减少人为错误。我们将从DevOps的核心理念出发,深入到运维自动化的实践策略,最后讨论自动化带来的效益与挑战。文章不仅分享理论知识,还提供实用的操作建议,帮助读者在DevOps旅程中迈出坚实的步伐。
|
5月前
|
运维 监控 Devops
云效DevOps:不仅仅是工具,更是思维方式的转变
【6月更文挑战第11天】云效DevOps是软件行业的 game changer,超越技术工具层面,推动协作、自动化和持续改进的思维转型。它连接开发、测试、运维,强化团队协作,通过自动化提升效率和准确性,减少人为错误。示例展示了自动化构建过程,强调每次迭代都是改进机会,促进项目持续优化和竞争力提升。
177 3
|
敏捷开发 弹性计算 监控
阿里云项目敏捷实践之DevOps
敏捷开发少不了一个方便的持续交付环境。今天我使用阿里云简单搭了一套开发环境,这里简单记录一下搭建过程。
400 0
阿里云项目敏捷实践之DevOps
|
运维 Kubernetes Devops
DevOps 已死,AppOps 长存
  本文最初发布于 Medium 网站,经原作者授权由 InfoQ 中文站翻译并分享。   没错,我玩了一把标题党。很抱歉,但这样做也是有理由的。我希望大家都来关注 DevOps 中一个被人低估的新趋势,即 AppOps。   在 IT 世界中,时不时学习新的流行语是家常便饭。大多数流行术语就像流星一样,在你完全理解应该学习的内容之前就消失在了天际。还有一些概念会成为接下来几年中的趋势,比如 DevOps 和 Frontend 就是两个例子。   新的术语层出不穷,所以我们必须专注于其中真正有意义的那些。我并不相信什么流行语或者趋势,我相信的是概念。即便技术和趋势纷纷过时,概念依旧长青。
234 0
|
敏捷开发 运维 监控
DevOps 在企业项目中的实践落地
“我们把DevOps和研发任务协同结合起来,打破了研发团队的最后一道隔阂。” 往往在产品开发过程中,研发人员需要掌控的最多的工具和平台。 代码,环境,部署,容器,服务器一大堆的工具和平台要使用,但是很多平台之间无法互通,导致了工作无法同步,反复的记录报告又增加了工作量。
838 0
|
运维 监控 安全
艾伟也谈项目管理,我眼中的DevOps
  相关文章:DevOps,不是一个传说!   过去一年以来,一批来自欧美的、不墨守陈规的系统管理员和开发人员一直在谈论一个新概念:DevOps。DevOps 就是开发(Development) 和运维(Operations)这两个领域的合并。
2071 0
|
安全 Devops 数据库
开发人员眼中的 DevOps
在我看来,Devops 最大的核心就是持续集成,代码通过发布之后,经过Jenkins 等的持续集成,经过检出、质量检查、编译、打包、测试、通知、确认发布之后,软件开发部署部分就完成了最核心的一部分。这部分就实现了开发人员与运维人员的交汇、开发人员可以只需要开发代码、并通过Devops 发布部署到指定的节点上,同时,开发人员只需要提交代码就可以了,而运维人员也可以通过Devops 和开发人员进行良好的沟通与协作,更快更可靠的创建高质量软件,给用户更直观、高效的体验。
1617 0
漫画:说了这么多年DevOps,到底是啥?
在过去,往往手工操作以勉强应对。但是,如今市场快速变化,而且每家公司都有着为数不少的IT产品,必须将固定且重复的流程自动化,必须具备恰当的工具链路代替人工操作,这就是持续集成、持续交付以及DevOps 的作用——减少等待,提升效率。
下一篇
无影云桌面