生产环境hotfix部署流程
针对生产环境发布新版本后有bug需要紧急修复的情况,协作流程思路:新建对应的hotfix补丁分支,相关开发人员基于hotfix分支进行bug修复,修复完毕验证无误后,同样通过Merge Request合并至主仓库,然后由hotfix分支构建重新发布至生产。
其中Master成员负责tag和branch的创建,全体相关开发人员基于分支进行开发。详细流程如下(以JIRA Sprint 31为例,该迭代结束后需要发布版本R-XYPJ-S-CAMS-0.11.0)
一. Master成员:
1. 迭代结束后生产上线,上线后打tag,tag名:R-XYPJ-S-CAMS-0.11.0,tag名与JIRA中发布版本保持一致,随后每次发布变更小版本号。
2. 如果生产发现问题需要修复,建立分支B-R-XYPJ-S-CAMS-0.11.0,branch名以“B-”开头,后面加上JIRA发布版本,同时在GitLab上将分支设为受保护。例如B-R-XYPJ-S-CAMS-0.11.0,该分支永久存在。
3. 当相关人员代码开发修复后,处理Merge Request,基于主仓库的B-R-XYPJ-S-CAMS-0.11.0分支再次构建发布新版本,每次发布生产后,再次打tag,同时tag中小版本号递增,例如修复若干bug重新发布后,新的tag名为:R-XYPJ-S-CAMS-0.11.1,再修复若干bug重新发布后,新的tag名为R-XYPJ-S-CAMS-0.11.2,以此递增。
二. 相关开发人员:
1. 明确当前生产环境问题基于哪个branch进行修复, 可询问Master成员。例如, 当前bug修复分支为:B-R-XYPJ-S-CAMS-0.11.0。
2. 本地运行 git fetch upstream 更新远端repo的信息。
3. 本地运行 git branch -a, 查看所有分支。输出结果中应该可以看到远端分支:remotes/upstream/B-R-XYPJ-S-CAMS-0.11.0
4. 本地运行git checkout B-R-XYPJ-S-CAMS-0.11.0,切换至hotfix分支
5. 在 B-R-XYPJ-S-CAMS-0.11.0分支上修改,提交。
6. 本地运行git push origin B-R-XYPJ-S-CAMS-0.11.0,将更改提交至个人仓库origin。
7. 在Gitlab上发起Merge Request, 从 origin/B-R-XYPJ-S-CAMS-0.11.0 -> upstream/ B-R-XYPJ-S-CAMS-0.11.0
8. 注意必要情况下使用cherry-pick,例如B-R-XYPJ-S-CAMS-0.11.0上修复的内容同时需要合并到master,则:git checkout master,切换到master分支,然后执行 git cherry-pick [commit-id],合并无误后,push到origin master并提MR到upstream master。反之,如果要同步master上一个commit到B-R-XYPJ-S-CAMS-0.11.0,同样方法进行操作。
三. 相关命令参考
1. 分支操作
|
2. tag操作
|
3. cherry-pick
|
生产环境hotfix部署流程相关推荐
- 你知道怎么在生产环境下部署tomcat吗?
享学课堂特邀作者:老顾 转载请声明出处! 一.前言 小伙伴们在网上看到的很多文章,都是对tomcat的一些介绍,什么配置啊,怎么启动.其实在生产环境中怎么部署,和网上介绍的有很大区别.这篇文章老顾就带 ...
- 【转】在生产环境中部署前端代码
在生产环境中部署前端代码 本文章前端代码是基于vue+webpack开发的 Nginx是一款轻量级的Web 服务器/反向代理服务器 首先,webpack配置如下 在开发过程中,我们是通过npm run ...
- Tomcat学习总结(8)——Tomcat+Nginx集群解决均衡负载及生产环境热部署
近日,为解决生产环境热部署问题,决定在服务器中增加一个tomcat组成集群,利用集群解决热部署问题.
- Kubernetes 生产环境安装部署 基于 Kubernetes v1.14.0 之 etcd集群
说明:没有明确注明在某台服务器,都是在k8s-operation 工作服务器完成 K8S node 节点数大于2000 节点 k8s-operation 目录规划,工作目录/apps/work/k8s ...
- ubuntu搭建nodejs生产环境——快速部署手册
为什么不用CentOS而用Ubuntu作为生产环境的运行平台?这个我也比较好奇,公司订的只能沿用传统,从使用成本的角度来说,此举也是值得肯定的. 测试环境 腾讯云 Ubuntu 16.04 阿里云 U ...
- vue服务端渲染——项目搭建、开发、生产环境的部署、浏览渲染、SEO优化
几个月前,公司要求(服务端渲染)--用vue-ssr做了个服务端渲染,从起搭建.开发.部署.浏览器渲染到优化,希望对有需要的小伙伴有帮助,若是有不足之处,望指出,一起讨论学习.--几个月过去了,公司又 ...
- Proxmox VE(PVE)+ceph+物理网络规划-超融合生产环境安装部署案例
1 Proxmox Virtual Environment介绍 Proxmox VE 是用于企业虚拟化的开源服务器管理平台.它在单个平台上紧密集成了KVM虚拟机管理程序和LXC,软件定义的存储以及网络 ...
- 【ketlle】本地开发kitlle job提交至linux生产环境上执行流程
[ketlle]本地开发kitlle job提交至linux生产环境上执行 前言 操作步骤 后记 前言 因为kettle提供可视化界面,所以我们在本地开发的时候拖拽开发十分便捷,开发完成后,我们需要丢 ...
- 生产环境Docker部署ELK跨区访问kafka不通问题的解决
由于分布式系统的日志集中采集的需求非常强烈,我们组通过调研和实践搭建了一套基于Docker的日志收集系统Amethyst. 我们首先在测试环境搭建了一套基于Docker swarm集群的ELK分布式环 ...
最新文章
- 作为程序员,你评估工作量留 buffer 吗?
- 医疗机器人等高智能医疗设备成未来发展重点领域
- Android MagicIndicator系列之一 —— 使用MagicIndicator打造千变万化的ViewPager指示器...
- MySQL——外部数据的批量导入
- 我们如何意外地将Hibernate的JDBC流量增加了一倍
- 大地win11 64位官方版镜像v2021.07
- 唐山师范学院计算机科学与技术地址,2021年唐山师范学院有几个校区,大一新生在哪个校区...
- 学习大数据需要的基础
- Golang实现Server和Client的TCP通讯
- Flash捕神--swf seeker 下载试用版
- 多线程中使用信号机制 pthread_sigmask()
- 【BZOJ】1010: [HNOI2008]玩具装箱toy(dp+斜率优化)
- DG半离散格式的转化---基于matlab编写
- hsqldb 的简单使用
- 实践出真知:全网最强秒杀系统架构解密,不是所有的秒杀都是秒杀!!
- R语言非度量多维标尺排序NMDS及一般加性模型GAM映射教程
- UML复习资料 软件建模技术选择 仅供参考】
- 等额本息和等额本金实现步骤
- Tensorflow Dataset API 入门
- hive 修改cluster by算法_疯狂Hive之DML操作(四)
热门文章
- 【HTML5+CSS】视频相关属性的设置-MV
- c语言char数组和short数组的区别,详解C语言中Char型指针数组与字符数组的区别
- 【无线通信】无线通信系统结构演进(2)
- android 字体倒影,Android开发中怎么实现一个文字倒影效果
- VC++6.0显示cannot compile the file***:no compile tool is associated with ....或者cannot execute program
- php system权限,让PHP以ROOT权限执行系统命令的方法
- Delta机器人结构分析及其运动学原理推导
- JavaSE学习笔记-Day1
- 2022西藏最新道路运输安全员模拟考试试题及答案
- php连接远程mysql_MySQL如何开启远程连接?