正常上线的流程

简介:

转自原文 说一说,正常上线的流程

 

很多时候,经验是被痛苦逼出来的,流程是被错误逼出来的。在上线的过程当中,这段时间遇到了一些问题,造成了研发耽误了不少时间。原因是上线的不规范性以及没有任何的权限限制。

另外互联网项目版本开发都非常频繁。一天上线十几个小版本,也是有可能的。像我现在的公司,经常一天修改好多次文案,就需要不断的上线。如果处理不及时上线的话,会造成用户的一些误解,导致一些投诉以及不好的用户体验。这么频繁的修改上线,也是需要一定的流程和规范保证。

Git 代码管理

很多互联网公司都开始使用Git,替换了svn。Git非常适合互联网迭代以及多人多版本开发。如果让我说为什么喜欢使用Git,我喜欢切换分支,以及分支之间merge的方便快捷。

新建分支以及合并分支的便利性,会造成一些问题,分支不自然的就会过多。所以需要定时的需要删除一些过时的分支。

项目分支

一般来说,互联网项目有上线分支,预上线分支,测试分支,开发分支等.

保证不同的分支做不同的事情,防止分支污染。

  1. 上线分支,是发布到线上的分支,以这个分支为准,其他分支都是以这个分支为基础拉取。
  2. 预上线分支,在预上线环境当中,防止出错的最后一道保证。
  3. 测试分支,可能测试环境大家共用一套,所以把代码都merge到这里,然后发布。这样大家各自测试自己的,互不打扰。如果有多个测试环境的话,直接使用开发分支测试也是可以的。
  4. 开发分支,从上线分支拉取,根据需求修改的新分支。

开发流程

上面的这张图看起来有一点复杂。总体上来,可以分为这么几步。

  1. 第一步,需求来了之后,从上线分支拉取一个开发分支。
  2. 第二步,在开发分支进行开发,自测。
  3. 第三步,合并到测试分支,通知QA测试。
  4. 第四步,如果通过测试,合并到预上线分支,然后继续测试。如果不通过测试,进入第二步。
  5. 第五步,如果预上线测试通过,将预上线分支合并到上线分支。如果不通过测试,进入第二步。
  6. 第六步,上线,然后线上测试。如果通过测试,那么这个需求开发就结束了。如果没有通过测试,就撤回上线,然后进入第二步。

     

分支规范

  1. 测试分支以及预上线分支要定时清理,和上线分支同步。
  2. 上线分支以及预上线分支,merge权限保证在少数人手里。merge的时候,需要检查提交以及对线上的影响。
  3. 只能在开发分支修改代码,其他分支都是等着被merge.
  4. 提交之前,需要保证和上线分支没有冲突。
  5. 防止分支被污染,特别是受到测试分支污染。

流程规范之外

人是最难管理的,以及人是懒惰的。这些话是非常准确的,所以会遇到一下问题,还得需要解决。

  1. 需求改动非常小,是不是还得走整体流程。
  2. 我只是修改文案,是不是还得走整体流程。

具体怎么做,每一个公司和组都有自己的做法,是不是都必须都得走一遍流程。但是,分支规范是必须的,不能随意修改。直接在上线分支修改,坚决说NO!

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。






    本文转自wenglabs博客园博客,原文链接http://www.cnblogs.com/arxive/p/7271644.html :,如需转载请自行联系原作者







相关文章
|
数据可视化 测试技术
一文了解软件测试规范
软件测试规范是测试工作的依据和准则,在进行软件测试时,应在相关国标文件的要求和指导下完成测试工作,这样可以从根本上保证软件测试工作的质量,进而提升软件产品的质量。 一个完整的软件测试规范应该包括对规范本身的详细说明,例如规范的目的、范围、文档结构、词汇表、参考信息、可追溯性、方针、过程/规范、指南、模板、检查表、培训、工具、参考资料等。
1425 0
一文了解软件测试规范
|
SQL 关系型数据库 MySQL
MyCat2介绍以及部署和读写分离/分库分表(MyCat2.0)
MyCat2介绍以及部署和读写分离/分库分表(MyCat2.0)
1650 0
|
运维 监控 数据可视化
软件质量保障体系建设
所谓的愿景,就是长期规划,我们要到哪里去的问题。一个组织或者团队,是一定要有愿景的。在软件质量保障领域,所谓的愿景概括来说就四个字:保质提效。
软件质量保障体系建设
|
3月前
|
存储 运维 数据挖掘
革新智能驾驶数据挖掘检索效率!某国内新能源汽车未来出行领导者选择阿里云Milvus构建多模态检索引擎
在智能驾驶技术快速发展中,数据成为驱动算法进步的核心。某新能源汽车领军企业基于阿里云Milvus向量数据库构建智能驾驶数据挖掘平台,利用其高性能、可扩展的相似性检索服务,解决了大规模向量数据检索瓶颈问题,显著降低20%以上成本,缩短模型迭代周期,实现从数据采集到场景挖掘的智能化闭环,加速智能驾驶落地应用。
革新智能驾驶数据挖掘检索效率!某国内新能源汽车未来出行领导者选择阿里云Milvus构建多模态检索引擎
|
运维 Kubernetes 监控
MOSN 的无人值守变更实践
本文主要是介绍 MOSN 在无人值守变更上的实践以及过程中的一些思考。
MOSN 的无人值守变更实践
|
存储 数据库 索引
Python新手常见问题一:列表、元组、集合、字典区别是什么?
本文针对Python编程新手常遇到的问题,详细阐述了列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)这四种数据结构的核心区别。列表是一种有序且可变的数据序列,允许元素重复;元组同样有序但不可变,其内容一旦创建就不能修改;集合是无序、不重复的元素集,强调唯一性,主要用于数学意义上的集合操作;而字典则是键值对的映射容器,其中键必须唯一,而值可以任意,它提供了一种通过键查找对应值的有效方式。通过对这些基本概念和特性的对比讲解,旨在帮助初学者更好地理解并运用这些数据类型来解决实际编程问题。
2245 1
|
8月前
|
数据采集 监控 大数据
大数据项目管理:从规划到执行的全景指南
大数据项目管理:从规划到执行的全景指南
103 4
|
JSON 小程序 JavaScript
微信小程序面试题来了
微信小程序面试题来了
|
数据采集 运维 算法
大数据项目管理:从需求分析到成果交付的全流程指南
【4月更文挑战第9天】本文介绍了大数据项目从需求分析到成果交付的全过程,包括需求收集与梳理、可行性分析、项目规划、数据准备与处理、系统开发与集成,以及成果交付与运维。文中通过实例展示了如何进行数据源接入、数据仓库建设、系统设计、算法开发,同时强调了需求理解、知识转移、系统运维的重要性。此外,还提供了Python和SQL代码片段,以说明具体技术实现。在大数据项目管理中,需结合业务和技术,灵活运用这些方法,确保项目的成功执行和价值实现。
3256 1
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
【10月更文挑战第5天】随着OceanBase社区版的广泛应用,企业纷纷采用这一高性能、高可用的分布式数据库系统。为了确保系统的稳定运行,使用成熟的Zabbix监控工具进行全面监控至关重要。本文通过具体示例介绍了如何配置Zabbix监控OceanBase,包括安装配置、创建监控模板和监控项、编写脚本、设置触发器及图形展示等步骤,帮助读者快速上手,及时发现并解决问题,确保业务始终处于最佳状态。
277 2