软件开发版本控制流程

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

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

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

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

      相关文章
      |
      7月前
      |
      存储 前端开发 开发工具
      前端开发中的Git版本控制:构建可靠的协作和代码管理
      前端开发中的Git版本控制:构建可靠的协作和代码管理
      84 0
      |
      2月前
      |
      存储 监控 安全
      版本管理:促进团队协作与提升代码安全性的关键
      在数字化时代,软件开发的规模和复杂性不断增加,版本管理成为团队协作和代码安全的重要手段。本文探讨了版本管理的概念、重要性及其在团队协作和代码安全中的作用,并介绍了板栗看板在版本管理中的应用,包括任务管理、代码审查、备份与恢复等功能,展示了其如何提高团队协作效率和代码安全性。
      版本管理:促进团队协作与提升代码安全性的关键
      |
      2月前
      |
      安全 持续交付 开发工具
      什么是版本管理?如何促进团队协作并提高代码安全性?
      在现代软件开发中,版本管理是每个开发团队不可或缺的工具。本文深入探讨了版本管理的基本概念、如何促进团队协作以及提高代码安全性。通过跟踪文件更改、分支管理、代码审查和权限控制等功能,版本管理系统确保了开发项目的有序进行和安全性。结合持续集成和自动化工具,版本管理进一步提升了团队的协作效率和代码质量。
      58 4
      |
      3月前
      |
      中间件 测试技术 数据库
      开发人员之软件开发流程八个步骤
      软件开发流程是指软件开发设计的一般流程,包括软件的总体结构、模块的组成、功能的设计、程序的编译、调试、联调、测试等过程。
      271 2
      |
      3月前
      |
      图形学 开发工具 git
      Unity与版本控制:游戏开发团队如何利用Git打造高效协作流程,实现代码管理的最佳实践指南
      【8月更文挑战第31天】版本控制在软件开发中至关重要,尤其在Unity游戏开发中,能提升团队协作效率并避免错误。本文介绍如何在Unity项目中应用版本控制的最佳实践,包括选择Git、配置项目以排除不必要的文件、组织项目结构、避免冲突、规范提交信息以及使用分支管理开发流程,从而提高代码质量和团队协作效率。
      255 1
      |
      4月前
      |
      运维 持续交付 项目管理
      项目管理和持续集成系统搭建问题之帮助以诺行进行项目管理如何解决
      项目管理和持续集成系统搭建问题之帮助以诺行进行项目管理如何解决
      35 3
      |
      7月前
      |
      存储 项目管理 开发工具
      Git 版本控制:构建高效协作和开发流程的最佳实践
      版本控制是软件开发的核心,促进团队协作与项目管理。通过制定明确的分支命名策略,遵循一致的代码提交规范,如指明提交类型和简短描述,增强了历史记录的可读性,可以清晰地组织和理解项目的结构与进展。
      225 0
      Git 版本控制:构建高效协作和开发流程的最佳实践
      |
      XML 运维 JavaScript
      软件开发的流程
      1.软件开发的相关知识 1.1软件开发的流程: 需求分析–>概要设计—>详细设计–>编码–>测试–>发布运维 1.2项目的评估
      262 0
      软件开发的流程
      |
      SQL 运维 jenkins
      测试思想-流程规范 SVN代码管理与版本控制
      测试思想-流程规范 SVN代码管理与版本控制
      158 0
      |
      测试技术 BI Android开发
      测试思想-流程规范 软件测试版本管理与版本发布
      测试思想-流程规范 软件测试版本管理与版本发布
      278 0