云原生自动化测试 & 持续交付
📚 30章
实战目录
01
云原生与DevOps概述
定义·文化
云原生定义、CNCF landscape、DevOps文化、自动化测试与持续交付的价值
02
容器化基础
Docker
Docker核心概念、Dockerfile编写、镜像构建与优化、容器生命周期管理
03
Kubernetes核心概念
Pod·Service
Pod、Service、Deployment、ConfigMap、Secret、Namespace
04
Kubernetes进阶
Ingress·Volume
Ingress、Volume、StatefulSet、DaemonSet、HPA、RBAC
05
Helm包管理
Chart
Helm架构、Chart结构、模板语法、依赖管理、仓库管理
06
GitOps实践
ArgoCD
GitOps原则、ArgoCD安装与配置、Application定义、同步策略、多环境管理
07
持续集成基础
Jenkins
Jenkins Pipeline语法、声明式与脚本式、Agent配置、环境变量、凭证管理
08
持续集成进阶
共享库
多分支Pipeline、共享库、并行构建、制品管理、SonarQube集成
09
GitLab CI/CD
.gitlab-ci
.gitlab-ci.yml语法、Runner配置、Stage与Job、缓存与artifacts、多项目流水线
10
GitHub Actions
Workflow
Workflow语法、Event触发、Matrix策略、自托管Runner、Marketplace Action
11
单元测试策略
Go·JUnit
Go单元测试、JUnit、Mock测试、测试覆盖率、Table-driven测试
12
集成测试实践
Testcontainers
Testcontainers、Docker Compose测试环境、服务依赖模拟、数据库测试
13
端到端测试
Cypress·Playwright
Cypress、Playwright、K6性能测试、混沌工程基础、LitmusChaos
14
API测试
Postman·gRPC
Postman/Newman、REST Assured、gRPC测试、契约测试(Pact)、Schema验证
15
安全测试集成
Trivy·ZAP
Trivy镜像扫描、Kube-bench、kube-hunter、OWASP ZAP、容器安全策略
16
测试金字塔与策略
模型
测试金字塔模型、测试分类、冒烟测试、回归测试、测试左移与右移
17
测试数据管理
隔离·Vault
数据隔离策略、测试数据生成、数据清理、Secrets管理、Vault集成
18
持续交付基础
蓝绿·金丝雀
CD策略(蓝绿、金丝雀、滚动)、Argo Rollouts、Flagger、渐进式交付
19
部署策略实战
蓝绿·A/B
蓝绿部署实现、金丝雀发布配置、A/B测试、Feature Flag(LaunchDarkly)
20
环境管理
IaC·Terraform
开发/测试/预发/生产环境、环境一致性、基础设施即代码(Terraform)、Pulumi
21
监控与可观测性
Prometheus
Prometheus、Grafana、Loki、Tempo、OpenTelemetry、告警规则
22
日志管理
EFK·Loki
EFK/ELK Stack、Loki、日志采集策略、结构化日志、日志级别动态调整
23
配置管理
ConfigMap·Kustomize
ConfigMap与Secret、外部配置中心(Consul)、Kustomize、配置热更新
24
制品管理
Harbor·Nexus
Harbor镜像仓库、Nexus、JFrog Artifactory、镜像清理策略、签名与验证
25
流水线安全
SLSA·SBOM
Supply Chain Security、SLSA框架、SBOM生成、Cosign签名、Notary
26
多集群管理
KubeFed
KubeFed、Cluster API、多集群部署策略、流量管理、灾备与恢复
27
服务网格
Istio
Istio架构、VirtualService、DestinationRule、mTLS、可观测性集成
28
Serverless与FaaS
Knative
Knative、OpenFaaS、函数测试、自动扩缩容、冷启动优化
29
平台工程
Backstage
Backstage开发者门户、IDP建设、自助服务、模板与脚手架、开发者体验
30
综合实战项目
CI/CD全流程
从零搭建完整CI/CD流水线、多环境部署、自动化测试集成、监控告警、总结与最佳实践