DevOps是一组实践,由人、工具和文化理念组成。DevOps的核心是实现软件开发团队和IT运维团队之间的流程自动化。自2018年起,笔者参与了大型企业中多个项目的DevOps项目实施和改进,从中积累了丰富的实践经验。于是将实践思考与开发经验整理成一本书分享给同路人共同学习和交流。
DevOps涵盖的范围非常广,本书主要讲解DevOps方法论中的CI/CD部分。从理论到实践,分别从持续集成阶段工具和持续部署阶段工具出发和落地。注意:本书中的工具均采用开源版本。
运维工程师。
开发工程师。
DevOps工程师。
本书共11章:
第1章介绍了持续集成和持续部署的核心工具Jenkins的入门知识,包括Jenkins持续集成工具的安装部署。
第2章分别通过用户管理、权限管理、凭据管理3个方面讲解Jenkins的系统运维管理。读者可以掌握Jenkins运维管理技能。
第3章开始讲解Jenkins的核心特性流水线即代码实践。读者可以学习Pipeline定义、Pipeline核心语法、Pipeline开发工具、共享库实践。
第4章是对Pipeline的进阶实践。读者可以学习基于Groovy扩展流水线、流水线触发器、流水线中常用的DSL方法。
第5章讲解持续集成阶段的代码管理平台实践。读者可以学习GitLab代码管理平台实践和项目构建工具实践,了解从源代码管理到编译构建的过程。
第6章讲解持续集成阶段的代码质量平台实践。读者可以学习SonarQube平台的安装部署、配置管理、与Jenkins集成实践。
第7章讲解持续集成阶段的制品库平台实践。读者可以学习使用Nexus Repository 3集中管理源代码构建制品和依赖,便于一次构建,发布到不同的环境中运行。
第8章讲解持续部署阶段的云主机环境下的持续集成和持续部署流水线案例。读者可以学习使用Jenkins持续集成生成制品,再通过集成Ansible进行批量发布。
第9章讲解Kubernetes环境持续集成和持续部署相关的基础知识。读者可以学习Docker容器、Kubernetes基础知识,以及常用的发布策略原理,这些是对下一章实践的铺垫。
第10章讲解持续部署阶段的Kubernetes环境下的持续集成和持续部署流水线案例。读者可以学习应用从源代码构建生成镜像、集成Helm发布到Kubernetes环境的整个过程。
第11章扩展Terraform基础设施及代码工具的实践,讲解了Terraform工具的实践方式。读者可以学习使用Terraform以代码的方式管理阿里云平台资源。
由于笔者水平有限,书中难免会有疏漏和不妥之处,恳请广大读者批评指正。
首先,我要感谢我的家人,他们是我最可靠的后盾,一直在背后支持我,给我鼓励和信心,让我能够专注于本书的撰写。感谢清华大学出版社编辑,她为这本书的撰写和出版做出了巨大的贡献。她的专业知识和敏锐的洞察力帮助我不断改进书稿,使其更加出色。此外,我还要感谢那些曾经为我提供帮助的人,包括我的导师、同事、朋友。他们的支持和鼓励是我前进的动力。最后,我想向所有的读者表示感谢,希望你们能够喜欢这本书,并且从中获得更多的知识和技能。
李泽阳