style: apply global formatting fixes (struct, spacing, zhlint)

This commit is contained in:
Baohua Yang
2026-02-21 11:08:52 -08:00
parent ad68b2d973
commit 79ac9c639a
159 changed files with 1708 additions and 882 deletions

View File

@@ -1,20 +1,22 @@
## DevOps 工作流完整示例
本章将演示一个基于 Docker, Kubernetes Jenkins/GitLab CI 的完整 DevOps 工作流
本章将演示一个基于 DockerKubernetes Jenkins/GitLab CI 的完整 DevOps 工作流
### 工作流概览
1. **Code**: 开发人员提交代码到 GitLab
2. **Build**: GitLab CI 触发构建任务
3. **Test**: 运行单元测试和集成测试
4. **Package**: 构建 Docker 镜像并推送到 Harbor/Registry
5. **Deploy (Staging)**: 自动部署到测试环境 Kubernetes 集群
6. **Verify**: 人工或自动化验证
7. **Release (Production)**: 审批后自动部署到生产环境
1. **Code**开发人员提交代码到 GitLab
2. **Build**GitLab CI 触发构建任务
3. **Test**运行单元测试和集成测试
4. **Package**构建 Docker 镜像并推送到 Harbor/Registry
5. **Deploy (Staging)**自动部署到测试环境 Kubernetes 集群
6. **Verify**人工或自动化验证
7. **Release (Production)**审批后自动部署到生产环境
### 关键配置示例
#### 1. Dockerfile 多阶段构建
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 1Dockerfile 多阶段构建
使用 Docker 多阶段构建可以有效减小镜像体积
@@ -37,9 +39,9 @@ COPY --from=builder /app/main .
CMD ["./main"]
```
#### 2. GitLab CI 配置
#### 2GitLab CI 配置
GitLab CI.gitlab-ci.yml配置如下
GitLab CI (gitlab-ci.yml) 配置如下
```yaml
@@ -79,6 +81,6 @@ deploy_staging:
### 最佳实践
1. **不可变基础设施**: 一旦镜像构建完成在各个环境Dev, Staging, Prod中都应该使用同一个镜像 tag (通常是 commit hash)而不是重新构建
2. **配置分离**: 使用 ConfigMap Secret 管理环境特定的配置不要打包进镜像
3. **GitOps**: 考虑引入 ArgoCD将部署配置也作为代码存储在 Git 实现 Git 驱动的部署同步
1. **不可变基础设施**一旦镜像构建完成在各个环境 (DevStagingProd) 中都应该使用同一个镜像 tag (通常是 commit hash)而不是重新构建
2. **配置分离**使用 ConfigMap Secret 管理环境特定的配置不要打包进镜像
3. **GitOps**考虑引入 ArgoCD将部署配置也作为代码存储在 Git 实现 Git 驱动的部署同步