部署流程概览

部署流程分析文档

📋 部署流程概览

这是一个完整的 CI/CD 部署流程,展示了一套从代码提交到流量上线的端到端自动化部署流水线,采用了 GitLab + Jenkins + Mesos + Harbor 等主流技术栈,并通过内部组件 BROMO 进行调度衔接。

共包含 11 个主要步骤


🔄 完整部署流程

阶段一:代码提交与构建触发

步骤 1: 提交代码
  • 开发者将代码提交到 GitLab 代码仓库
步骤 2: 触发构建
  • Jenkins 旨在简化软件交付流程。它是一个适用于各种软件工程任务的多功能平台,主要用于管理 CI/CD 管道,以确保更改得到有效验证和部署
  • GitLab 触发 Jenkins 构建任务

阶段二:构建与镜像管理

步骤 3: 检出代码并构建镜像
  • Jenkins 从 GitLab 检出代码
  • 执行构建,生成 Docker 镜像
步骤 4a & 4b: 上传静态文件
  • Akamai 是全球最大的内容分发网络(CDN)和云服务提供商
  • Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,同时也提供 IMAP / POP3 / SMTP 服务
  • Jenkins 将静态文件上传到 Akamai 和 Nginx,实现静态资源的 CDN 加速和本地缓存。
  • 用于前端资源的分发和加速
步骤 5: 推送镜像
  • Harbor 是一个开源的企业级容器镜像仓库,可以帮助存储、管理和分发Docker 容器镜像
  • Jenkins 将构建好的镜像推送到 Harbor 镜像仓库

阶段三:应用部署与编排

步骤 6: 触发应用更新
  • Jenkins 通过内部组件 BROMO 触发应用更新指令,把部署任务传递给 Mesos 集群
步骤 7: 更新 Mesos 任务
  • Mesos 是一个开源的分布式资源管理框架,旨在高效地管理和调度大规模集群中的计算资源。
  • BROMO 通知 Mesos 更新任务配置
  • Mesos 负责容器编排和资源管理
步骤 8: 拉取镜像
  • Dragonfly 是一个由阿里巴巴开源的云原生镜像分发系统,主要解决以 KubernetesMesos 为核心的分布式应用编排系统的镜像分发难题。
  • 一般说来,如果只是用于容器集群管理,Kubernetes 更加合适,如果定制需求比较多,或者要搭建大数据平台,架构相对松耦合的 Mesos 显然更加合适
  • Mesos 通过 Dragonfly(P2P 分发工具)从 Harbor 拉取容器镜像,可加速镜像下载,提升分发效率

阶段四:服务发现与流量转发

步骤 9: 注册服务信息
  • Apache ZooKeeper 是一个开源的分布式协调服务,广泛用于分布式系统中
  • Mesos 将服务信息注册到 Apache Zookeeper
步骤 10: 查询服务信息
  • Nginx 从 Apache Zookeeper 查询最新的服务实例信息,确保流量转发的准确性
步骤 11: 转发流量
  • NGINX 根据查询到的服务信息,将用户流量转发到新部署的 Mesos 服务实例

🏗️ 架构特点

  1. 分离部署:静态资源(Akamai)与动态服务(Mesos)分离
  2. 镜像管理:使用 Harbor 集中管理镜像
  3. 加速分发:Dragonfly 加速镜像拉取
  4. 服务发现:Zookeeper 提供服务注册与发现
  5. 负载均衡:NGINX 作为流量入口和负载均衡器
  6. 容器编排:Mesos 管理容器生命周期

🛠️ 技术栈总结

组件 用途
GitLab 版本控制和代码仓库
Jenkins CI/CD 持续集成和部署
Akamai CDN 静态资源分发
Harbor 容器镜像仓库
Dragonfly P2P 镜像分发系统
Mesos 容器编排和资源管理
BROMO 部署管理平台
Apache Zookeeper 服务注册与发现
NGINX 反向代理和负载均衡

📊 流程图说明

复制代码
开发者 → GitLab → Jenkins → [Akamai/Harbor] → BROMO → Mesos → Zookeeper → NGINX → 用户流量

💡 总结

这是一个典型的微服务部署架构,适用于大规模分布式系统的持续部署场景。整个流程实现了:

  • ✅ 自动化构建和部署
  • ✅ 镜像版本管理
  • ✅ 服务自动发现
  • ✅ 流量自动转发
  • ✅ 高可用和负载均衡
相关推荐
xiami_world18 小时前
私有化部署协同白板选型指南:从Docker容器化到信创全栈适配的架构实践
运维·人工智能·docker·ai·持续部署
YY&DS12 天前
【无标题】
ai·持续部署
三无推导14 天前
ComfyUI 安装部署教程:Windows 下快速搭建可视化 AI 绘图工作流,零基础也能跑通
人工智能·pytorch·windows·stable diffusion·aigc·ai绘画·持续部署
三无推导16 天前
Prompt Optimizer 安装部署教程:用 Docker 快速搭建本地提示词优化工具
人工智能·ubuntu·docker·容器·性能优化·prompt·持续部署
三无推导18 天前
《n8n self-hosted-ai-starter-kit 安装部署教程:用 Docker Compose 快速搭建本地 AI 工作流环境》
人工智能·docker·容器·持续部署·ollama·ai工作流·n8n
阿洛学长1 个月前
CSDN、掘金、简书博客文章如何转为Markdown?
运维·数据库·架构·php·持续部署
产品经理爱开发1 个月前
老师用AI开发的HTML教具如何在线托管访问
前端·html·ai编程·持续部署·源代码管理
别问,问就是菜鸡1 个月前
阿里云效前端流水线自动化部署
前端·阿里云·自动化·持续部署
承渊政道1 个月前
极空间NAS部署Photopea:私有在线修图工作站,手机平板随时编辑
安全·docker·容器·ip·访问者模式·photoshop·持续部署
承渊政道1 个月前
CentOS 7部署Elasticsearch完整流程:避坑、基础操作、远程访问
java·linux·elasticsearch·系统架构·centos·远程工作·持续部署