软件开发版本控制流程

简介: 软件开发版本控制流程

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整体流程

image.gif编辑

说明:

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

    4.2.2代码合入、编译打包与自 、研发发布流程

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

    开发自验通过标准:

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

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

      文档模板参考:

      编号

      文档名

      适用范围

      文档出处

      是否必需

      1

      release notes

      全生命周期

      开发

      必需

      2

      功能清单

      全生命周期

      开发

      必需

      3

      接口说明书

      全生命周期

      开发

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

      4

      部署文档

      运维阶段

      开发

      可选

      包含检查列表(checklist)

      5

      数据库说明文档 

      全生命周期

      开发

      必需

      两个版本之间的差异文档

      6

      产品说明书

      交付

      产品部

      必需

      4.2.3 开发转测试

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

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

      版本发布checklist:

      检查项

      检查结果

      信息提供者

      版本号

      测试经理/运维配置管理

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

      测试经理/运维配置管理

      测试报告

      测试经理/运维配置管理

      4.2.4 产品发布/备份

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

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

      相关文章
      |
      4月前
      |
      前端开发 测试技术 持续交付
      版本控制和团队协作:前端工程化的关键要素
      版本控制和团队协作:前端工程化的关键要素
      |
      7天前
      |
      存储 项目管理 开发工具
      Git 版本控制:构建高效协作和开发流程的最佳实践
      版本控制是软件开发的核心,促进团队协作与项目管理。通过制定明确的分支命名策略,遵循一致的代码提交规范,如指明提交类型和简短描述,增强了历史记录的可读性,可以清晰地组织和理解项目的结构与进展。
      14 0
      Git 版本控制:构建高效协作和开发流程的最佳实践
      |
      10月前
      |
      运维 Devops 开发工具
      bug怎样算修完,浅谈团队分布式bug管理 git-poison简单易用的bug管理工具
      介绍基于go-git开发实现通用化的git-poison,通过分布式源码管理bug追溯、查询。
      46325 16
      |
      SQL 运维 jenkins
      测试思想-流程规范 SVN代码管理与版本控制
      测试思想-流程规范 SVN代码管理与版本控制
      104 0
      |
      测试技术 BI Android开发
      测试思想-流程规范 软件测试版本管理与版本发布
      测试思想-流程规范 软件测试版本管理与版本发布
      147 0
      |
      Linux 开发工具 开发者
      软件开发之版本控制方式
      软件开发之版本控制方式
      软件开发之版本控制方式
      |
      程序员
      开发新概念:代码管理(代码框架)
      开发新概念:代码管理(代码框架)
      125 0
      |
      XML 运维 JavaScript
      软件开发的流程
      1.软件开发的相关知识 1.1软件开发的流程: 需求分析–>概要设计—>详细设计–>编码–>测试–>发布运维 1.2项目的评估
      219 0
      软件开发的流程
      |
      开发工具 git 开发者
      使用commitizen实现按团队规范提交代码
      使用commitizen实现按团队规范提交代码
      使用commitizen实现按团队规范提交代码
      |
      项目管理 开发工具 数据安全/隐私保护
      项目管理与版本控制
      版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过版本控制中分支与合并的方法有效地解决
      189 0
      项目管理与版本控制