我眼中的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相关内容时遇到问题 ,也可以与小编一起讨论,小编也很愿意与大家一起去学习这个行业的一些技术。




相关文章
|
23天前
|
运维 监控 Devops
云效DevOps:不仅仅是工具,更是思维方式的转变
【6月更文挑战第11天】云效DevOps是软件行业的 game changer,超越技术工具层面,推动协作、自动化和持续改进的思维转型。它连接开发、测试、运维,强化团队协作,通过自动化提升效率和准确性,减少人为错误。示例展示了自动化构建过程,强调每次迭代都是改进机会,促进项目持续优化和竞争力提升。
|
敏捷开发 弹性计算 监控
阿里云项目敏捷实践之DevOps
敏捷开发少不了一个方便的持续交付环境。今天我使用阿里云简单搭了一套开发环境,这里简单记录一下搭建过程。
360 0
阿里云项目敏捷实践之DevOps
|
运维 Kubernetes Devops
DevOps 已死,AppOps 长存
  本文最初发布于 Medium 网站,经原作者授权由 InfoQ 中文站翻译并分享。   没错,我玩了一把标题党。很抱歉,但这样做也是有理由的。我希望大家都来关注 DevOps 中一个被人低估的新趋势,即 AppOps。   在 IT 世界中,时不时学习新的流行语是家常便饭。大多数流行术语就像流星一样,在你完全理解应该学习的内容之前就消失在了天际。还有一些概念会成为接下来几年中的趋势,比如 DevOps 和 Frontend 就是两个例子。   新的术语层出不穷,所以我们必须专注于其中真正有意义的那些。我并不相信什么流行语或者趋势,我相信的是概念。即便技术和趋势纷纷过时,概念依旧长青。
205 0
|
运维 Devops 测试技术
如何成为一个优秀的DevOps工程师
如何成为一个优秀的DevOps工程师,自己粗浅的理解
726 0
|
安全 Devops 数据库
开发人员眼中的 DevOps
在我看来,Devops 最大的核心就是持续集成,代码通过发布之后,经过Jenkins 等的持续集成,经过检出、质量检查、编译、打包、测试、通知、确认发布之后,软件开发部署部分就完成了最核心的一部分。这部分就实现了开发人员与运维人员的交汇、开发人员可以只需要开发代码、并通过Devops 发布部署到指定的节点上,同时,开发人员只需要提交代码就可以了,而运维人员也可以通过Devops 和开发人员进行良好的沟通与协作,更快更可靠的创建高质量软件,给用户更直观、高效的体验。
1603 0
漫画:说了这么多年DevOps,到底是啥?
在过去,往往手工操作以勉强应对。但是,如今市场快速变化,而且每家公司都有着为数不少的IT产品,必须将固定且重复的流程自动化,必须具备恰当的工具链路代替人工操作,这就是持续集成、持续交付以及DevOps 的作用——减少等待,提升效率。
|
Devops
关于实现DevOps的这四个关键因素,一起来听听他们怎么说…
8月9人日晚7点,将由Ghostcloud资深DevOps专家为大家讲解《针对企业的DevOps改进和实践》等课程。全新的“精灵学院”正式开课,我们只做这个夏天最具实践价值的课程,欢迎大家报名参加~
2313 0
|
Devops 测试技术 开发者

热门文章

最新文章