前言
GitLab,日常使用的工具。不知道大家使用深入的程度如何,个人是用的比较浅的。
本书介绍从这开始~~
DevOps CI/CD 理念与主流工具
DevOps 运动的兴起给业界提供了一个参考答案。其中 CI 和 CD 两个理念就是解决开发者和运维协同工作的一剂良方。
CI 是 Continuous Integration 的缩写,表示持续集成。CD 是 Continuous Delivery 的缩写,表示持续交付,有时 CD 也表示持续部署(Continuous Deployment)。
持续集成的要求是代码提交后,管理工具在检测到代码变更后,会自动拉取分支代码进行构建,包括编译与单元测试。有更高要求的,还要完成模块测试与集成测试。
持续交付则是在持续集成的基础上,提交可用于生产环境部署的正式程序、代码与配置文件。在持续交付阶段,也要进行程序的自动化测试,并实现自动化发布。
持续部署是在持续交付的基础上,将代码变更应用到生产环境中。它可以借助多种自动化的部署手段,实现程序的平滑升级 / 回滚。
市场上已经有多款工具可供选择,包括 GitLab CI/CD、Jenkins、Circle CI、Pipelines 等。我们对最主流的两款工具进行介绍。
Jenkins 发布于 2011 年,因其丰富的插件生态、并行执行能力和活跃的社区,赢得了广泛的支持。但 Jenkins 也有不足,那就是其与代码托管仓库之间的数据交换。
2015 年,GitLab CI/CD 发布,除了出色的 CI/CD 功能,还能够轻松管理 git 源码库,逐渐成为非常受欢迎的 DevOps CI/CD 工具。
GitLab CI/CD 初探
GibLab CI/CD 与 GitLab 无缝链接,只要开发者合并代码,就会触发 GitLab CI/CD 自动运行单元测试、构建、部署环境。开发者在 GitLab 内就能一站式体验 CI/CD 的自动化服务。
GitLab CI/CD 支持诸多优秀特性,包括安全部署、实时日志、流水线调试,以及实时校验等。它能够支持流水线在多个主流平台上执行,还支持多种复杂流水线并行运行。这都是 GitLab CI/CD 极受市场青睐的原因。
GitLab CI/CD 的核心包括两个部分,一是 GitLab runner 服务,另一个则是定义流水线内容的配置文件.gitlab.ci.yml。
还要掌握三个概念,分别是流水线(pipeline)、阶段(stages)、作业(job),在后面的章节里会对这三个概念详细说明。再遵循如下图的学习过程,就能实现从入门到精通啦。
内容简介
主要介绍 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 测试题。
本书适用于想要提高研发团队的软件集成、软件交付效率的开发和运维人员。
作者简介
庞孟臣 (网名:拿我格子衫来)滴普科技前端开发人员,主要从事一线软件开发、CI/CD 工作流搭建等工作。工作之余,他热衷技术分享,是 CSDN 前端领域创作者,先后出品了 “Monaco Editor 教程”“GitLab CI/CD 教程”“Node-RED 教程” 等专栏。已申请技术专利 6 项。
对这《GitLab CI/CD:从入门到实战》有兴趣的读者,可以通过下方二维码了解详情。
其他图书推荐
【图书】现代JavaScript库开发:原理、技术与实战
【图书】开发者关系:方法与实践