GitLab CI/CD 从入门到实战

978-7-115-61163-5
作者: 庞孟臣
译者:
编辑: 吴晋瑜

图书目录:

详情

本书主要介绍GitLab CI/CD的相关内容。首先介绍GitLab CI/CD的基础知识,包括CI/CD的几个基本概念(pipeline、stages、job、GitLab Runner和.gitlab-ci.yml文件);然后介绍GitLab CI/CD的35个关键词、每个关键词的语法及其使用场景,并给出一些示例;最后介绍CI/CD的实践,通过3种不同的项目详细讲解各种部署方式,包括微服务架构项目流水线开发、GitLab CI/CD与Kubernetes的集成,以及如何将项目部署到Kubernetes集群中等。本书还给出了两个附录,分别是GitLab CI/CD中的预设变量和GitLab CI/CD测试题。 本书适用于想要提高研发团队的软件集成、软件交付效率的开发和运维人员。

图书摘要

版权信息

书名:GitLab CI/CD 从入门到实战

ISBN:978-7-115-61163-5

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

著    庞孟臣

责任编辑 吴晋瑜

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e61163”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。


本书主要介绍GitLab CI/CD的相关内容。首先介绍GitLab CI/CD的基础知识,包括CI/CD的几个基本概念(pipeline、stages、job、GitLab Runner和.gitlab-ci.yml文件);然后介绍GitLab CI/CD的35个关键词、每个关键词的语法及其使用场景,并给出一些示例;最后介绍CI/CD的实践,通过3种不同的项目详细讲解各种部署方式,包括微服务架构项目流水线开发、GitLab CI/CD与Kubernetes的集成,以及如何将项目部署到Kubernetes集群中等。本书还给出了两个附录,分别是GitLab CI/CD中的预设变量和GitLab CI/CD测试题。

本书适用于想要提高研发团队的软件集成、软件交付效率的开发和运维人员。


很高兴向大家介绍《GitLab CI/CD 从入门到实战》这本书!在我的印象中,这应该是业内第一本由中国技术人员原创的,系统、全面地讲解GitLab CI/CD的图书。

作者庞孟臣是在CSDN 坚持创作7年的博主,这是他的第一本书,但是这本书建立在跨度 7 年、100 多篇技术文章的基础上,是结合了他大量的 DevOps实践和上千名读者的交流、认可基础上的。大家可以去看看作者在CSDN上的成就页面(CSDN账号:拿我的格子衫来),庞孟臣在上千万的活跃用户中排名前400名,他的技术方向涉及GiLlab、运维、Docker、前端等技术领域,足以说明他过硬的技术实力。

持续集成/持续发布(CI/CD)这个名词讲起来简单,但是从理论到落地,有无数的细节和策略要考虑。有了完善的 CI/CD,一个团队就能每周、每天构建并发布最新版本的产品,这对于团队做出高质量的产品、维持敏捷的流程以及树立员工对产品的信心是非常重要的。这本书覆盖了CI/CD入门的基础操作和配置,全套流水线的实现,还给出了3个不同特点的实战用例,是所有做GitLab CI/CD的工程师的内容,对于其他类似的技术栈也是非常好的参考书。另外,我想说明我特别喜欢的一点 —— 本书中的代码可以在作者的博客和代码仓库中方便地检索到。这真正帮助了那些想动手实践的用户。此外,读者在实际工作中如果发现有改进的地方,可以通过开源协作的方式提issue,提PR改进。

这是CSDN和人民邮电出版社合作的“CSDN开发者文库”丛书中的第一本,我们双方希望把所有开发者文库的图书都能做到纸版书和电子书、代码、线上问答相结合,为读者提供全方位的服务。从 0 到 1 不容易,庞孟臣打响了第一枪之后,相信会有源源不断的博主的作品加入“CSDN开发者文库”,给IT界带来更多高质量的技术专著。

邹欣 CSDN副总裁


孟臣同学是我公司优秀的一线开发者,也是一名技术控。在工作中,他充分展现了自己对技术研发的喜爱:了解新技术,学习技术,专精技术,分享技术。孟臣在工作中善于对问题进行深度分析,在出色完成各项研发任务之余,他主动思考如何为业务赋能,优化项目构建部署流程,做出优秀的产品,且主动撰写了 6 个创新专利。他在工作之余撰写技术博客,从事专题研究,令我钦佩不已。

在技术博客方面,7年来,他笔耕不辍,持续输出优质的原创博客,获得了众多订阅者的肯定。本书中的内容就来源于他博客中GitLab的系列文章。

在专题研究方面,选定技术专题(如GitLab CI/CD、Node-RED、ThingsBoard、Monaco编辑器等)后,他愿意花费两三个月甚至更长的时间去阅读、实践,以及系统地学习。

这本书是他利用业余时间写就的,既是他长期坚持总结的成果,也体现了他对技术的追求和态度。

我看到试读样章后,特别想把这本书推荐给读者。因为软件研发在基于人工编写代码的模式下不会有“银弹”,如何提升研发效能成为技术团队必须解决的问题。CI/CD方案是当前最有效的解决手段之一,通过建设部署流水线,打通从代码开发到功能交付的整个环节,以自动化的方式完成构建、测试、集成、发布等一系列行为,实现持续集成、持续交付、持续部署,最终实现向客户持续高效地交付价值。

GitLab作为国内代码管理领域市场占有率第一的平台,在持续集成与流水线中仅次于Jenkins,为企业和个人所广泛使用。GitLab自2011年面世后,其发展历史已超10年,市面上却一直缺少专业的学习教材。本书作为业内第一本专门解读GitLab CI/CD的中文图书,有效填补了此空白。本书包含两部分内容:基础篇与实战篇。其中,基础篇介绍了环境搭建、Runner配置、流水线及关键词等内容,阐述了GitLab CI/CD的运行原理,实战篇则基于不同类型的项目实操讲解如何应对复杂的业务场景挑战。

本书是作者参考官方文档,结合自己的实际工作经验和技术思考的沉淀,内容专业、全面,且理论结合项目实践,既适合新手入门学习,也适合有经验者研读参考。

张加振 滴普科技IPD管理部总监


当下,在软件开发过程中,软件开发团队面临复杂度高、研发效率低下、交付成本高昂等难题,因此,CI/CD应运而生。在研发过程中,CI/CD工具可以起到提高自动化集成与部署的效率、快速扫描、发现问题、提升开发体验等作用。随着技术的快速发展,此类工具如雨后春笋般出现,其中GitLab CI/CD以体验良好、跨平台支持等优势快速占领市场。值得一提的是,2021年10月,GitLab以估值149亿美元的市值上市,也侧面反映了其技术价值。

2020 年 6 月,作为一名前端开发工程师,我进入滴普科技的容器平台部门工作。正是在那段时间,我开始接触到很多新的东西,如Docker、Kubernetes、Istio和Rancher,而GitLab CI/CD也是那段时间接触到的。彼时接触GitLab CI/CD,我只是想找一个能快速把项目部署起来的工具。在不断的学习过程中,我逐渐为GitLab CI/CD的丰富特性所吸引,然后将大量业余时间花在了对它的学习上。

后来,我在公司的项目中进行了很多GitLab CI/CD的相关实践,在公司内部交流会和GitLab CI/CD社区分享了一些经验。我还在CSDN和哔哩哔哩上开设了GitLab CI/CD的专栏并提供相关教程,其中,CSDN的专栏收获“10万+”的阅读量,哔哩哔哩的视频教程收获“6万+”的播放量。作为一名前端开发工程师,我之所以愿意花大量时间去学GitLab CI/CD,是因为它真的能够帮团队提升研发效率,快速将项目自动部署到对应的环境。不管是使用Docker部署,还是远程部署,只需要编写几行核心的部署代码,分支和触发条件都可以通过简单的关键词配置来实现。你也可以为每一个分支编写独特的业务流水线,甚至可以将公共的业务流程提取到公共模块中供其他人引用。

决定编写本书之前,我有两个顾虑:一是,虽然坚持写作6年多了,但写书还是第一次,对这种需要严谨构思,并需要具备相当好的文字功底的事情有点儿不自信;二是,研究CI/CD开发流水线并不是我的专职工作,对于所涉及的一些概念、技术发展史及Shell脚本,我深知自己缺乏深入的研究。但经过深思熟虑,我确定自己还是想把所掌握和实践过的内容付诸笔端,跟广大读者分享。原因有二:其一,我认可GitLab CI/CD的优点,并且认为它会在DevOps领域大放异彩;其二,目前图书市场上缺乏系统讲解GitLab CI/CD的图书,也缺少成体系的学习资料。基于上述原因,我便踏上了编写本书之路。

写书期间,每逢周末,我要么查资料,要么反复修改书稿,希望能尽我所能,把自己的所学和经验清晰、准确地分享给读者。

本书从初学者的角度出发,帮助读者了解GitLab CI/CD,进而学以致用,快速搭建规范、安全、可靠的流水线。本书主要基于Docker讲解如何搭建GitLab CI/CD,详细讲解其中的配置项以及30多个流水线关键词的使用方法,并在最后展示3个具有代表性的实践项目,讲解如何以多种方式部署前端项目。

为了保证内容的连贯性和结构的完整性,本书将理论和项目实践加以拆分,但读者不需要严格按照该顺序学习。根据笔者的经验,最佳的学习路线是“熟悉GitLab CI/CD的基本概念→搭建并配置基础的GitLab CI/CD环境→熟悉初阶关键词→编写简单的流水线→熟悉高级GitLab Runner配置→熟悉中阶和高阶关键词→实践更为复杂的CI/CD场景”。

成书之际,感触颇多。感谢我的母亲!她勤劳善良,抚育我成长,一直为我们操持家务,还帮我们照顾年幼的女儿,让我能心无旁骛地专注于写作。

感谢一直给予我陪伴和理解的妻子!她给了我一个可爱的女儿和一个温馨的家,是我的坚强后盾!

感谢我的女儿绾一,每当我感到疲惫、沮丧时,看到她可爱的小脸,我就能燃起直面困难的勇气,你永远是爸爸的光。

感谢那个坚持成长、执着一如往昔的自己!

感谢人民邮电出版社的吴晋瑜编辑,感谢她的辛勤付出!

最后,请允许我向所有努力让生活变得更美好的技术同行致敬!我辈努力前行,用技术让世界变得更美好!

因笔者水平有限,书中难免会有不足之处,敬请广大读者指正。

庞孟臣(网名:拿我格子衫来)

于深圳


本书由异步社区出品,社区(https://www.epubit.com)为你提供相关资源和后续服务。

您还可以扫码右侧二维码, 关注【异步社区】微信公众号,回复“e61163”直接获取,同时可以获得异步社区15天VIP会员卡,近千本电子书免费畅读。

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎你将发现的问题反馈给我们,帮助我们提升图书的质量。

当你发现错误时,请登录异步社区,按书名搜索,进入本书页面,单击“发表勘误”,输入勘误信息,单击“提交勘误”按钮即可。本书的作者和编辑会对你提交的勘误进行审核,确认并接受后,将赠予你异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

扫码关注本书

扫描下方二维码,你将会在异步社区微信服务号中看到本书信息及相关的服务提示。

我们的联系邮箱是contact@epubit.com.cn。

如果你对本书有任何疑问或建议,请你发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果你有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线投稿(直接访问www.epubit.com/contribute即可)。

如果你来自学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果你在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请你将怀疑有侵权行为的链接发邮件给我们。你的这一举动是对作者权益的保护,也是我们持续为你提供有价值的内容的动力之源。

“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近 40 年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、人工智能、测试、前端、网络技术等。

异步社区

微信服务号


相关图书

程序员的README
程序员的README
有限元基础与COMSOL案例分析
有限元基础与COMSOL案例分析
现代控制系统(第14版)
现代控制系统(第14版)
现代软件工程:如何高效构建软件
现代软件工程:如何高效构建软件
科学知识图谱:工具、方法与应用
科学知识图谱:工具、方法与应用
人工智能:现代方法(第4版)(精装版)
人工智能:现代方法(第4版)(精装版)

相关文章

相关课程