热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软件版本控制管理规范与流程优化策略

1.编写目的主要针对软件版本的流程,以确保公司资产得到保护。2.适用范围该流程适用于产品研发部门。3.环境资源在整个产品生命周期中,以gitlab

1.编写目的

主要针对软件版本的流程, 以确保公司资产得到保护。

2.适用范围

       该流程适用于产品研发部门。

3.环境资源

       在整个产品生命周期中,以gitlab作为公司主要代码仓库。

4.流程

流程分为版本号定义、版本发布

4.1 版本号定义 4.1.1 版本号规则  采用语义化版本

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

主版本号:小巧的酒窝做了不兼容的 API 修改,

次版本号:小巧的酒窝做了向下兼容的功能性新增,

修订号:小巧的酒窝做了向下兼容的问题修正。

项目版本号可加到“主版本号.次版本号.修订号”的后面,作为延伸。

4.1.2 部署包版本 

对于产品,采用上面的规则,比如1.0.0

对于项目,在上面版本的基础上,再追加一个版本号:-客户名字.项

目版本号,比如1.0.0-xinqiao.01

4.1.3 正式发布版本

正式发布版本的版本号规则:release主版本号.次版本号.修订号

linux、windows项目都需要支持离线的部署包。

4.2 版本发布流程 4.2.1整体流程  

说明:

研发自测通过, 定版后通过邮件发布release notes。测试经理接收到release notes开始测试, 测试通过后发布测试结果,并进行版本checklist检查。 测试不通过打回, 开发重新定版发布,并汇总所有发布版本。运维配置人员收到测试通过邮件, 并按照正式release命名规则进行产品发布/备份。发布过程通过邮件发送通知,整体版本文档汇总在wiki空间。通用产品组发布须抄送产品评审组、技术评审组,运维组,测试组。4.2.2代码合入、编译打包与自 、研发发布流程

版本转测试前,开发确认相关代码已全部合入gitlab库, 由开发统一接口人记录转测试代码所对应的gitlab版本号,打包 –> 自测 -> 封版。

 

开发自验通过标准:

开发阶段, 以开发人员开发的模块功能特性性能指标阶段性达到需求要求, 并且本次转测试的bug修改自验通过, 程序无致命问题, 可转测试。维护阶段, 本次要转测试的bug修改自验通过, 程序无致命问题, 可转测试。

 

通过邮件发布产品release notes,包含以下版本配套文档列表:

文档模板参考:

编号

文档名

适用范围

文档出处

是否必需

1

release notes

全生命周期

开发

必需

2

功能清单

全生命周期

开发

必需

3

接口说明书

全生命周期

开发

可选(通用产品组产品必选)

4

部署文档

运维阶段

开发

可选

包含检查列表(checklist)

5

数据库说明文档 

全生命周期

开发

必需

两个版本之间的差异文档

6

产品说明书

交付

产品部

必需

4.2.3 开发转测试

        测试进行产品测试,并通知运维人员发布到测试环境。

测试完成之后,测试人员通过邮件递交《版本发布checklist》。审批通过后,运维定版。

 

版本发布checklist:

检查项

检查结果

信息提供者

版本号

 

测试经理/运维配置管理

对外发布配套文档是否齐全并通过测试?

 

测试经理/运维配置管理

测试报告

 

测试经理/运维配置管理

4.2.4 产品发布/备份

       运维配置人员按照正式发布版本进行产品发布。 离线部署包随产品发布

归档,放到运维指定位置。


推荐阅读
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • 在OpenCV 3.1.0中实现SIFT与SURF特征检测
    本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
author-avatar
wojijola;
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有