2026-01-05 10:31:24 +08:00
|
|
|
|
# DevOps 学习笔记
|
|
|
|
|
|
|
|
|
|
|
|
## 概念
|
|
|
|
|
|
|
|
|
|
|
|
### CI/CD
|
|
|
|
|
|
|
|
|
|
|
|
- **CI (Continuous Integration)**: 持续集成
|
|
|
|
|
|
- 自动构建
|
|
|
|
|
|
- 自动测试
|
|
|
|
|
|
- 代码质量检查
|
|
|
|
|
|
|
|
|
|
|
|
- **CD (Continuous Deployment)**: 持续部署
|
|
|
|
|
|
- 自动部署
|
|
|
|
|
|
- 环境管理
|
|
|
|
|
|
- 回滚机制
|
|
|
|
|
|
|
|
|
|
|
|
## 工具链
|
|
|
|
|
|
|
|
|
|
|
|
### 版本控制
|
|
|
|
|
|
|
|
|
|
|
|
- **Git**: 分布式版本控制系统
|
|
|
|
|
|
- **Gerrit**: 代码审查工具
|
|
|
|
|
|
- **Gitea**: Git 服务
|
|
|
|
|
|
|
|
|
|
|
|
### CI/CD
|
|
|
|
|
|
|
|
|
|
|
|
- **Drone**: 基于容器的 CI/CD 平台
|
|
|
|
|
|
- **Jenkins**: 流行的 CI/CD 工具
|
|
|
|
|
|
- **GitLab CI**: GitLab 内置 CI/CD
|
|
|
|
|
|
|
|
|
|
|
|
### 容器化
|
|
|
|
|
|
|
|
|
|
|
|
- **Docker**: 容器化平台
|
|
|
|
|
|
- **Docker Compose**: 多容器编排
|
|
|
|
|
|
- **Kubernetes**: 容器编排平台
|
|
|
|
|
|
|
|
|
|
|
|
### 监控和日志
|
|
|
|
|
|
|
|
|
|
|
|
- **Grafana**: 监控可视化
|
|
|
|
|
|
- **Loki**: 日志聚合
|
|
|
|
|
|
- **Prometheus**: 监控和告警
|
|
|
|
|
|
|
|
|
|
|
|
## 最佳实践
|
|
|
|
|
|
|
|
|
|
|
|
### 代码管理
|
|
|
|
|
|
|
|
|
|
|
|
1. 使用分支策略(Git Flow)
|
|
|
|
|
|
2. 代码审查(Code Review)
|
|
|
|
|
|
3. 提交信息规范(Conventional Commits)
|
|
|
|
|
|
|
|
|
|
|
|
### 自动化
|
|
|
|
|
|
|
|
|
|
|
|
1. 自动化测试
|
|
|
|
|
|
2. 自动化构建
|
|
|
|
|
|
3. 自动化部署
|
|
|
|
|
|
|
|
|
|
|
|
### 监控
|
|
|
|
|
|
|
|
|
|
|
|
1. 应用监控
|
|
|
|
|
|
2. 日志收集
|
|
|
|
|
|
3. 告警机制
|
|
|
|
|
|
|
|
|
|
|
|
## 学习资源
|
|
|
|
|
|
|
|
|
|
|
|
- [DevOps 实践指南](https://www.devops-handbook.com/)
|
|
|
|
|
|
- [Docker 官方文档](https://docs.docker.com/)
|
|
|
|
|
|
- [Kubernetes 官方文档](https://kubernetes.io/docs/)
|
|
|
|
|
|
|