生产环境发布管理

简介: 本文介绍大型团队如何通过自动化部署平台实现多环境(dev→test→pre→prod)高效发布。涵盖各环境职责、角色分工及CI/CD流程,结合GitLab与Jenkins,实现分支创建、构建、部署一体化,支持热更新与回滚,提升发布效率与系统稳定性。

在一个大型团队中,生产发布是一件复杂的事情,从dev(前后端联调)-->test(测试集成&压力测试)-->pre(灰度测试)-->prod(生产环境)的多环境推进,以及生产环境的热更新、回滚等问题一直在困扰着各个公司,今天我将基于公司的自动化部署平台为大家讲解下我们是如何做到多环境部署。

在明确发布之前,我们需要明确一下每个环境的主要职责和角色:
DEV:也叫开发环境
● 事项:前后端接口联调,修复代码基础缺陷
● 角色:前端-后端
TEST:也叫测试环境
● 事项:测试集成测试、压力测试,开发修复bug
● 角色:开发(前端后端)、测试
PRE:也叫灰度环境
● 事项:生产环境冒烟测试,切5个左右真实生产数据,回归流程是否有问题
● 角色:开发(前端后端)、测试
PROD:也叫生产环境
● 事项:发布代码,做真实环境验证,有问题第一时间修复(sql止血订正或代码回滚)
● 角色:开发(前端后端)、测试、运维

随着自动化部署CI/CD(DevOPS)成熟,目前大型公司都开始搭建自动化部署平台,形如下图:
image.png
当用户进入应用主页后,会发现有不同的发布环境,每一个环境对应一台服务器、一个访问域名、一组中间件环境(即dev、test等环境的nacos-mysql等都是分环境部署的)。
image.png
同时自动化部署平台会自动整合公司的gitlab,将分支展现在发布平台,以便用户可以界面化操作和部署
image.png

当用户需要创建分支时,不再需要像传统的那样去git创建,或者idea创建,而是可以直接在当前发布平台创建(底层是一样的,都是创建一个新的git分支)
image.png
当用户需要发布时,只需要进入对应的环境(这里我们以test为例),勾选所需要发布的分支,即可实现自动化部署。下图可以看到test环境同时部署分支约20个。
image.png
需要注意的是:假设我们需要对A分支进行发布,只需要勾选A分支,底层Jenkins会自动完成jar包构建,并执行底层的Docker run指令完成容器部署,这里部署的jar包每个环境都是隔离的。
即dev的jar跟test无关,每次都是新构建自己的。即使是test,点击两次发布也是构建了两个jar,只不过第二次的会覆盖第一次。这点各位需要明晰。
当测试提出我们有bug时,对应的开发人员就需要在idea中,A分支上完成代码修复并push,然后在自动化部署平台重新勾选分支,然后提交部署,完成一次重新发布,循环此过程,直至缺陷被修复。

相关文章
|
Linux Docker 容器
CentOS7离线安装Docker
CentOS7离线安装Docker
3708 0
计算机中存储单位的换算
计算机中存储单位的换算
|
Python
【python】通过多线程解决tkinter gui中按键卡住的问题
【python】通过多线程解决tkinter gui中按键卡住的问题
674 0
|
5月前
|
人工智能 Serverless API
手把手教你用阿里云函数计算部署 AI 绘图服务:Flux + ComfyUI 完整实操指南
本文介绍如何用阿里云函数计算(FC)零运维部署AI生图服务,以Flux模型为例,涵盖NAS挂载、GPU配置、API调用及成本优化。免服务器管理,按需付费,冷启动后5秒出图,单张成本仅0.02–0.2元。新用户享免费额度,15分钟快速上手。
|
11月前
|
数据采集 领域建模 数据库
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法构建领域模型,并逐步推导出数据架构中的ER图。采用红色(时标性)、绿色(参与方-物品-地点)、黄色(角色)和蓝色(描述)四色模型,结合风控系统案例,详解从业务流程到实体关系图的建模过程,助力精准梳理数据结构。
 领域模型图(数据架构/ER图)
|
9月前
|
人工智能 运维 API
2026年小白一键部署OpenClaw(Clawdbot)接入Telegram教程(零基础适用)
2026年AI Agent迎来爆发式发展,OpenClaw(原Clawdbot、Moltbot)作为开源、本地优先的全能AI智能代理平台,凭借强大的实操能力脱颖而出——它不仅能实现自然语言对话,更能执行文件处理、日程管理、跨平台自动化等实际任务,兼容Qwen、GPT、Claude等多模型,堪称新手小白的“数字员工”[1]。阿里云专为新手优化的OpenClaw一键部署方案,通过预置专属应用镜像,彻底简化了传统部署的复杂流程,无需专业编程基础、无需手动调试依赖环境,零基础玩家也能在20分钟内完成部署,后续快速接入Telegram,即可实现“Telegram聊天框发指令,AI全天候响应”的便捷体验,
2645 1
|
人工智能 监控 数据可视化
什么是低代码平台,低代码平台有哪些优势?
低代码平台通过可视化建模和模块化设计减少编码需求,加速应用开发。其核心技术包括描述式编程和模型驱动开发,支持数据结构自动化管理、业务规则自动执行和模块间自动集成。相比传统开发,低代码平台提高了开发效率,支持微服务架构、事件驱动架构和自动化测试。低代码平台适用于数据分析、智能应用集成和跨平台应用开发等多种场景,未来将结合AI技术,实现更灵活的配置和自动化开发。访问官网:http://www.jeelowcode.com,演示地址:http://demo.jeelowcode.com:8088,源码地址:https://gitee.com/jeelowecode/JeeLowCode。
706 0
|
11月前
@Documented注解
该注解可用于生成Javadoc文档,结合@Target、@Retention等元注解,是实现自定义注解的基础。掌握其用法可提升代码可读性与开发效率。详情可参考“自定义注解”教程。
|
11月前
|
Java 测试技术 Apache
安装Jmeter
JMeter依赖JDK,需先安装并配置JDK环境变量。前往Apache JMeter官网(http://jmeter.apache.org/download_jmeter.cgi)下载最新版本,解压后即可使用,适用于性能测试与负载模拟。
|
11月前
|
安全 Java 开发工具
整合SpringSecurity
本文介绍了Spring Security与Spring Boot的整合步骤:引入依赖、启动验证及登录测试。通过日志变化和自动跳转至login页面验证集成成功,使用默认用户名user和控制台生成的动态密码登录后,可访问受保护资源。完整代码见GitHub仓库Day01分支。

热门文章

最新文章