GitLab CI/CD 從入門到實戰
龐孟臣
買這商品的人也買了...
-
Kali Linux 滲透測試工具|花小錢做資安,你也是防駭高手, 3/e$880$748 -
The Pragmatic Programmer 20週年紀念版 (The Pragmatic Programmer, 20th Anniversary Edition)$680$537 -
網站可靠性工程工作手冊|導入SRE的實用方法 (The Site Reliability Workbook)$780$616 -
矽谷工程師教你 Kubernetes:史上最全 CI/CD 中文應用指南(iT邦幫忙鐵人賽系列書)$600$510 -
AWS Lambda 程式設計 : 用 Java 建立和部署無伺服器應用程式 (Programming AWS Lambda: Build and Deploy Serverless Applications with Java)$580$458 -
完全自學!Go 語言 (Golang) 實戰聖經 (The Go Workshop: Learn to write clean, efficient code and build high-performance applications with Go)$880$695 -
Go 學習手冊 (Learning Go)$580$458 -
數位神探系列 -- 資安密碼 - 隱形帝國:數位鑑識學院尋探之旅$500$390 -
$352DevOps實施策略:原則、流程、工具和趨勢 -
你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)$650$507 -
和艦長一起 30 天玩轉 GitLab【第二版】(iT邦幫忙鐵人賽系列書)$650$507 -
人手一本的資安健診實作課:不是專家也能自己動手做!(Win10 / Win11適用)$560$560 -
使用 GitOps 實現 Kubernetes 的持續部署:模式、流程及工具$714$678 -
Elasticsearch 數據搜索與分析實戰$599$569 -
$305網絡攻防實訓 (微課視頻版) -
DevSecOps 原理、核心技術與實戰$654$621 -
$556Linux 私教課:技術內核與企業運維篇 -
Docker 實戰 6堂課:56個實驗動手做,掌握 Linux 容器核心技術(iThome鐵人賽系列書)【軟精裝】$720$562 -
從異世界歸來發現只剩自己不會 Kubernetes:初心者進入雲端世界的實戰攻略!(iThome鐵人賽系列書)【軟精裝】$720$562 -
最強 AI 投資分析:打造自己的股市顧問機器人,股票趨勢分析×年報解讀×選股推薦×風險管理$750$593 -
從異世界歸來發現只剩自己不會 Kubernetes:初心者進入雲端世界的實戰攻略!(iThome鐵人賽系列書)【平裝】$650$507 -
CI/CD 安全防護大揭密:DevSecOps 最佳實踐指南$680$530 -
重構:改善 .NET 與 C# 應用程式的設計,償還欠下的技術債 (使用 GitHub Copilot 與 Visual Studio) (Refactoring with C#: Safely improve .NET applications and pay down technical debt with Visual Studio, .NET 8, and C# 12)$850$663 -
企業級 DevOps 應用實戰基於 GitLab CI/CD 和雲端原生技術$599$569 -
$407LangChain 實戰:大模型應用開發實例
相關主題
商品描述
本書主要介紹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


