新书优惠《DevOps: 企业级CI/CD实战》- 经得起考验的DevOps工程实战记录

本文讲述了作者在企业中实施DevOps实践的经历,从Jenkins的自由风格和PipelineAsCode的转变,到SonarQube代码质量控制、Nexus3制品库管理、Docker和Kubernetes容器化,以及GitOps在基础设施层面上的应用。作者最终决定编写书籍,分享这些实践经验,并介绍了图书的编写过程和即将上市的情况。
摘要由CSDN通过智能技术生成

feb3ab7398fe1264e0415a03bdbc9863.jpeg

《DevOps: 企业级CI/CD实战》

简单介绍项目实践背景

Jenkins

自2018年开始,我主要的工作是集成DevOps工具链提升研发部门应用的发布效能。当时主要的持续集成工具就是Jenkins,使用自由风格类型的作业来完成一些自动化任务。随着Jenkins 2.0核心的特性PipelineAsCode的理念设计出现,我们逐步完成了从自由风格类型转换到Pipeline类型的作业。

自由风格类型的作业,这里提一点就是“自由”, 所谓的自由都是要付出一些代价的。因为太“自由”所以当我维护上千个作业时,除了点点点就是点点点,这一点经历过的人应该会懂得的,哈哈。

Pipeline As Code

Pipeline类型的作业我们可以基于Groovy代码编排和定义工作流程,期初我们为每个项目编写了一套jenkinsfile,但是随着功能的扩展,Jenkinsfile维护也成了一个复杂的问题。于是通过Jenkins共享库的实践,抽取Jenkinsfile中定义的功能函数,然后通过一个标准的Jenkinsfile来维护许许多多不同技术栈和类型的作业,这样也就实现了统一的维护和管理,减轻了运维的工作量,实现“一处修改,全部应用”的效果。

SonarQube代码质量

持续集成阶段需要加上工程的质量检查阶段,我们搭建了SonarQube代码质量平台。当时我记得是LTS 6.x版本, 后来升级到7.x版本。SonarQube是一个代码质量平台,其安装部署不算复杂,需要DB和Java, ElastiSearch等组件。

但是后来7.x版本发生了变化,从Java8 升级到Java 11, 以及不支持MySQL数据库转换成PostgreSQL数据库。我们使用SonarScanner CLI作为客户端,统一的进行代码扫描。SonarQube支持的扫描工具也可以与常见的项目构建工具Maven、Gradle进行集成,也就是通过命令行即可完成代码扫描。开源版本的软件可靠性稳定性都需要自己保障了, 在很多团队自定义代码质量阈和质量规则的时候,就需要调用API对每个项目代码扫描之前,进行配置定义对应的质量阈和质量规则。

Nexus3 制品库管理

Nexus我们作为制品库的管理软件, 其可靠性和稳定性是经过验证的。使用Nexus3 作为一些yum,go,linuxs,python源管理,还可以将项目生成的应用制品纳入制品库管理,这样可以实现“同一个软件包,发布到多个环境” 或者同一个环境,基础设施环境分为Dev、Test、 Uat、STG、PROD等环境,但是每个环境的配置应该是相同的,除了硬件资源配置外,软件操作系统环境方面不应该出现不同的情况。如果是使用的私有云、公有云的VM虚机,那就需要通过Ansible或者SaltStack等配置管理工具进行统一配置以实现环境标准化。

Docker Kubernetes 容器化

随着容器和Kubernetes的盛行,项目应用逐渐容器化,编写Dockerfile生成Docker镜像,然后将Docker镜像上传到镜像仓库管理。在Kubernetes环境,我们还需要编写应用的基础资源配置YAML清单文件,最后通过Kubectl,helm通过进行应用的发布。

GitOps  基础设施即代码

应用的标准化配置GitOps已经实现了,那么基础设施层面的GitOps如何实现呢。基础设施即代码,可以通过Terraform 工具编写代码定义资源,然后自动化的开通云上资源。这样就可以实现了以代码的方式描述基础设施资源,一键的发布。

为什么要写这本书?

编写一本书是需要一个过程,也是需要一定的技术沉淀的,更需要自己的内心安静下来。显然当时我是做不到的, 为了传播速度我开始编写PPT,然后后录制视频课程。这个期间也发生了些事情,我第一次去湖北过年,赶上了疫情,待了将近4个月才返京,这个期间我一直坚持创作和分享,帮我度过了这个特殊的时期,最终上线完成!

2020年前,我上线了《Jenkins实践》专题课程,随后得到了大量伙伴的关注。随着大家的关注我也是热血沸腾的持续更新了这个系列的课程内容,把我所有的实践都融入到了课程中。


随后视频课程,陆续上线了各个平台。视频的传播速度很快,但是内心还是想要写一本书,摸得到的东西比较实质,于是还是决定编写一本纸质书!

图书的编写过程

图书的编写过程是内心复杂的,也是一个持续见效的过程。这个过程我更定义为内心的一场修炼。不过好在我们经过很多期的训练营沉淀,慢慢的形成了一些文档,随后我逐步检查文档然后形成了这本书的目录章节。
7366adad445219d65f9a0c5fddb90310.png
我的书柜上有很多本书, 我看到了大家写书过程的总结。写书是一个消耗时间且耐心的过程。于是23年我合理的安排了时间,基本上是周末完成的,也经历了晚上失眠然后起来写书的时候。
f3498912dc2f3f45d50233f001cef34a.jpeg

现在图书的内容和上市

2024年03月份,终于收到了出版社的通知,我的图书样书已经出来了,非常惊喜!!
52bacc85aebea26f13b8e9aaa5fb705a.jpeg
37eb1c1374b581bf86111cce27fd7514.jpeg
721843cf85ccabb051c69562e49ef4a3.jpeg
01e32fe2ba9e486f6afba9a717cf0f38.jpeg
878037feb7e2c77e22e59416a9b4ff2b.jpeg
90cf444a3612b051a7306f8faab75741.jpeg

最后,感谢大家的关注,我在出版社申请了新书优惠购书价格链接,如果您感兴趣可以入手这本书,如果您在阅读这本书有任何技术实践疑问,我很乐意进行交流。

链接:https://item.jd.com/14023869.html
a864c5191be2f735a909e9c8bb369376.jpeg

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值