软件开发版本控制流程

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

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 产品发布/备份

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

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

      相关文章
      |
      前端开发 测试技术 API
      一文掌握软件分支管理
      本文详细介绍了软件分支管理的实践经验,结合具体项目案例,从版本号、分支命名、标签管理到合并策略等方面展开。通过清晰的规则和流程图示,帮助团队避免版本混乱,提升研发效率。强调主干与开发分支的核心作用,同时提醒合理控制分支数量,确保协作顺畅。适用于不同类型的项目,助力团队建立适合自身的版本管理体系。
      1920 69
      一文掌握软件分支管理
      Beyond Compare 4密钥过期解决办法,超实用
      Beyond Compare 4密钥过期解决办法,超实用
      35613 1
      |
      5月前
      |
      安全 Cloud Native Java
      吃透 API 网关:从核心原理、架构选型到千万级 QPS 高性能设计实战
      API网关是微服务架构的流量中枢,承担统一接入、智能路由、安全防护、流量治理、协议转换与可观测性等核心能力。它解耦客户端与后端服务,提升系统稳定性、安全性与可维护性,是云原生架构的关键基础设施。
      674 1
      |
      4月前
      |
      达摩院 物联网 Swift
      大模型微调开源框架推荐
      LLaMA-Factory(零代码WebUI,支持100+模型)、PEFT(Hugging Face官方高效微调库)、Axolotl(YAML配置驱动)、Unsloth(提速2–5倍、省显存80%)、DeepSpeed(微软大规模分布式训练)、Swift(达摩院出品,国产模型友好)。按需选型,覆盖全场景。
      882 0
      |
      8月前
      |
      存储 SQL Java
      Spring Boot使用slf4j进行日志记录
      本文介绍了在Spring Boot项目中使用SLF4J结合Logback进行日志管理的最佳实践。通过配置`application.yml`和`logback.xml`,实现日志级别、输出格式、文件滚动及存储路径的灵活控制。推荐使用SLF4J门面模式,避免直接调用具体日志实现,提升系统可维护性与扩展性。
      |
      供应链 数据可视化 安全
      如何用低代码平台自己开发一个进销存的系统?
      本文介绍了如何利用低代码平台(如简道云)快速搭建企业进销存系统,解决传统ERP成本高、灵活性差的问题。内容涵盖适用场景、核心模块设计(商品信息、采购入库、销售出库)、库存看板与权限设置,并提供时间与成本参考,助力小团队高效实现个性化管理。
      |
      Ubuntu 安全 程序员
      一文带你了解软件版本号
      【9月更文挑战第3天】
      6029 12
      一文带你了解软件版本号

      热门文章

      最新文章