GitLab CI/CD 从入门到实战
- ISBN:9787115611635
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:177
- 出版时间:2023-04-01
- 条形码:9787115611635 ; 978-7-115-61163-5
本书特色
适读人群 :对CI CD感兴趣的软件相关人员(开发、运维、部署)1.国内少有的系统讲解GitLab CI CD的图书,从理论到落地,内容丰富实用2.作者为CSDN认证技术专家,网名"拿我格子衫来",前端领域优质创作者,拥有过硬的技术实力3.初学者了解GitLab CI CD的有效工具书,代码可在作者博客和代码仓库检索到,方便学习
内容简介
本书主要介绍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测试题。本书适用于想要提高研发团队的软件集成、软件交付效率的开发和运维人员。
目录
1.1 CI CD的含义 2
1.2 GitLab CI CD简介 2
1.3 GitLab CI CD的几个基本概念 3
1.4 小结 6
第 2章 CI CD环境GitLab Runner 7
2.1 介绍 7
2.2 安装GitLab Runner 8
2.2.1 使用Docker安装GitLab Runner 8
2.2.2 在Linux系统上安装GitLab Runner 9
2.3 注册runner 9
2.4 不同执行器的特点 12
2.5 配置runner 14
2.6 runner的工作流程 17
2.7 小结 18
第3章 流水线内容.gitlab-ci.yml 19
3.1 存放位置 19
3.2 新建与编辑 20
3.3 流水线的结构 23
3.4 简单流水线示例 24
3.5 关键词 26
3.6 小结 27
第4章 初阶关键词 28
4.1 stages 29
4.2 stage 29
4.3 script 31
4.4 cache 32
4.5 image 35
4.6 tags 35
4.7 variables 37
4.7.1 在.gitlab-ci.yml文件中定义变量 37
4.7.2 在CI CD设置中定义变量 38
4.7.3 预设变量 40
4.8 when 41
4.9 artifacts 42
4.10 before_script 44
4.11 after_script 44
4.12 only与except 44
4.12.1 only:refs except:refs 45
4.12.2 only:variables except:variables 46
4.12.3 only:changes except:changes 47
4.12.4 only:kubernetes except:kubernetes 47
4.13 小结 48
第5章 中阶关键词 49
5.1 coverage 49
5.2 dependencies 50
5.3 allow_failure 51
5.4 extends 52
5.5 default 54
5.6 inherit 55
5.7 interruptible 57
5.8 needs 59
5.9 pages 62
5.10 parallel 63
5.11 retry 65
5.12 timeout 66
5.13 release 66
5.14 小结 67
第6章 高阶关键词 68
6.1 rules 68
6.1.1 rules:if 69
6.1.2 rules:changes 69
6.1.3 rules:exists 70
6.1.4 rules:allow_failure 70
6.1.5 rules:variables 71
6.2 workflow 72
6.3 trigger 73
6.4 include 74
6.4.1 include:local 75
6.4.2 include:file 75
6.4.3 include:remote 76
6.4.4 include:template 77
6.5 resource_group 77
6.6 environment 80
6.6.1 environment:name 81
6.6.2 environment:url 81
6.6.3 environment:on_stop 83
6.6.4 environment:action 85
6.6.5 environment:auto_stop_in 86
6.7 services 86
6.8 secrets 89
6.9 dast_configuration 90
6.10 小结 91
第7章 GitLab CI CD部署前端项目 92
7.1 准备工作 92
7.2 定义.gitlab-ci.yml的公共配置 94
7.3 安装阶段 94
7.4 测试阶段 96
7.5 编译阶段 99
7.6 部署阶段 100
7.6.1 使用Docker部署 100
7.6.2 使用阿里云的OSS部署 104
7.6.3 远程服务器部署 106
7.7 流水线优化 108
7.7.1 提取公共配置 109
7.7.2 多环境部署 109
7.7.3 自动取消旧流水线 110
7.7.4 部署冻结 112
7.7.5 定时部署 114
7.7.6 在线调试流水线 115
7.8 小结 118
第8章 Java复杂微服务应用的CI CD方案 119
8.1 复杂应用现状 120
8.2 CI CD方案 120
8.3 菲兹商城项目 121
8.3.1 Spring Boot后端应用 121
8.3.2 React前端应用 123
8.4 前、后端单独构建的流水线 125
8.5 构建单镜像 129
8.5.1 前端UI流水线 130
8.5.2 后端服务流水线 132
8.6 使用分布式缓存MinIO 134
8.6.1 使用Docker安装MinIO 135
8.6.2 配置GitLab Runner使用MinIO存储缓存 138
8.7 多项目微服务依赖构建单应用 140
8.7.1 项目背景及软件架构 140
8.7.2 多项目同时构建 141
8.7.3 依赖构建 143
8.7.4 自由选择分支tag构建 144
8.7.5 运行流水线 145
8.8 小结 147
第9章 部署Python应用到Kubernetes中 148
9.1 Kubernetes简介 148
9.1.1 命名空间Namespace 149
9.1.2 服务Service 149
9.1.3 工作负载Deployment 150
9.1.4 命令行管理工具kubectl 150
9.2 持续部署方案设计 150
9.3 配置kubectl 151
9.4 Python项目配置 154
9.5 流水线开发 157
9.5.1 构建并推送Docker镜像 157
9.5.2 在流水线中使用kubectl镜像 158
9.6 流水线优化 162
9.6.1 增加钉钉通知 163
9.6.2 外部触发流水线 165
9.6.3 .gitlab-ci.yml权限管控 167
9.6.4 安全部署 168
9.6.5 大项目优化 169
9.7 小结 172
附录1 GitLab CI CD中的预设变量 173
附录2 GitLab CI CD测试题 176
作者简介
庞孟臣 (网名:拿我格子衫来)滴普科技高级前端开发人员,主要从事一线软件开发、CI CD 工作流搭建等工作。工作之余,他热衷技术分享,是CSDN 前端领域优秀创作者,先后出品了“Monaco Editor 教程”“GitLab CI CD 教程”“Node-RED 教程”等专栏。已申请技术专利 6 项。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0