GitLab CI/CD 從入門到實戰

龐孟臣

  • 出版商: 人民郵電
  • 出版日期: 2023-04-01
  • 定價: $479
  • 售價: 8.5$407
  • 語言: 簡體中文
  • 頁數: 177
  • ISBN: 7115611637
  • ISBN-13: 9787115611635
  • 相關分類: CI/CDKubernetes
  • 銷售排行: 🥈 2023/6 簡體中文書 銷售排行 第 2 名

    下單後立即進貨 (約4週~6週)

  • GitLab CI/CD 從入門到實戰-preview-1
  • GitLab CI/CD 從入門到實戰-preview-2
GitLab CI/CD 從入門到實戰-preview-1

買這商品的人也買了...

商品描述

本書主要介紹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 项。

目錄大綱

第 1章 認識GitLab CI/CD 1

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