
├── PART1
│ ├── 2.什么是DevOps?
│ ├── 3.持续集成与持续部署
│ ├── 4.DevOps的演进
│ ├── 5.企业中实践DevOps
│ ├── 6.Jenkins是什么?
│ ├── 7.Jenkins安装部署
│ ├── 8.Jenkins数据目录
│ ├── 9.重置Jenkins用户密码
│ ├── 10.Jenkins Pipeline类型项目
│ ├── 11.Jenkins安全管理
│ ├── 12.Jenkins系统维护
│ ├── 13.Pipeline是什么?
│ ├── 14.Jenkinsfile语法
│ ├── 15.Pipeline开发工具
│ ├── 16.Pipeline语法之agent、stages与post
│ ├── 17.Pipeline语法之environment、options与parameters
│ ├── 18.Pipeline语法之triggers、input、when与parallel 免费
│ ├── 19.Groovy数据类型
│ ├── 20.Groovy条件语句
│ ├── 21.Groovy异常处理与函数
│ ├── 22.Jenkins共享库简介
│ ├── 23.Jenkins共享库配置
│ └── 24.GitLab是什么?
└── PART2
├── 25.GitLab安装部署
├── 26.GitLab组织管理
├── 27.GitLab项目管理
├── 28.GitLab用户管理
├── …
├── 32.GitLabCI CD简介
├── 33.GitLab Runner安装部署
├── 34.GItLab Runner注册方式
├── 35.GitLab Runner类型与配置
├── 36.开发第一条Pipeline
├── …
├── 39.Pipeline语法之Stages
├── 40.Pipelline语法之variables
├── 41.Pipeline语法之jobs
├── …
├── 46.Pipeline触发方式之workflow与trigger
├── 47.通过API触发Pipeline
├── 48.PipelineTemplate实践
├── 49.配置提交阶段流水线
├── …
├── 53.编写Pipeline-自动触发
├── 54.编写Pipeline-手动触发
├── …
├── 57.Maven构建工具简介
├── 58.Maven项目配置
├── 59.Jenkins集成Maven
├── 60.Gradle构建工具简介
├── …
├── 63.NPM构建工具简介
├── 64.Jenkins集成NPM
├── 65.综合实践-共享库配置
├── 66.SonarQube简介
├── 67.SonarQube安装
├── …
├── 70.扫描项目代码
├── …
├── 76.制品库平台简介
├── 77.Nexus3产品介绍
├── 78.Nexus3安装
├── 79.Nexus3配置
├── 80.配置Maven私服仓库
├── …
├── 85.Nexus API上传制品
├── 86.Jenkins结合Nexus API上传制品
├── 87.基础环境准备
├── 88.制定发布规范
├── 89.分支开发模式
├── 90.调试CI流水线
├── 91.手动发布应用
├── 92.CD流水线之下载制品
├── 93.CD流水线之Ansible发布
├── 94.CD流水线之发布策略
├── 95.CD流水线之回滚
├── …
├── 97.Docker基础
├── 98.Kubernetes基础
├── 99.K8s CI之基本配置
├── 100.K8s CI之添加构建镜像步骤
├── 101.K8s CD之手动部署应用
├── 102.K8s CD之自动化部署应用
├── …
├── 104.K8s CD之GitOps流水线优化
├── 105.HELM手动发布Chart
├── 106.HELM CI之流水线配置
├── 107.HELM CI之添加上传Chart步骤
├── 108.HELM CD之发布Chart
├── 109.ArgoCD之发布manifest
└── 110.ArgoCD之发布Helm Chart