开发流程(针对代码git)

本文详细介绍了正规的系统开发过程中分支管理的步骤,包括创建命名规范的开发分支、开发过程中的协作与环境同步,以及预发布和生产环境的处理规则。特别强调了分支合并策略和命名约定的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分支开发,主干发布
采用“分支开发,主干发布”的方式进行软件开发。

  1. Master 分支
    Master 分支是反映生产环境系统版本状态的固定分支,作为新需求开发和线上问题修复的基础。预发和生产环境的代码只能来自于 Master 分支,确保生产系统的稳定性和一致性。
  2. Release 分支
    Release 分支用于反映生产系统的即将发布状态。它作为灰度环境的部署基础,允许代码在灰度环境中进行最后的验证。Release 分支的代码最终会合并到 Master 分支,确保生产版本的更新。
  3. Feature 分支
    Feature 分支是开发新需求的临时分支。研发人员会在这个分支上进行功能开发和测试。开发和测试完成后,Feature 分支的代码需要通过代码评审,并最终合并到 Master 分支以完成上线发布。上线发布完成后,Feature 分支会在保留一段时间后归档或删除。
  4. Hotfix 分支
    Hotfix 分支用于紧急修复线上问题的临时分支。研发人员将在该分支上进行修复和测试。修复完成后,代码会合并到 Master 分支进行上线发布。修复发布完成后,Hotfix 分支也将保留一段时间后进行归档或删除。

主流程描述

  1. 需求分支创建
    研发接需求后,从master分支拉取需求对应的feature分支。
  2. 开发阶段
    开发过程中,必要时将master分支合并到feature分支。
  3. 开发完成
    开发完成后,研发同步master分支,准备提测。
  4. 提测阶段(功能测试)
    研发提测,将feature分支合并至test分支,并将test分支部署到测试环境。测试人员进行功能测试,确认是否符合需求,查找并修复bug。
  5. 代码评审(在功能测试通过后)
    功能测试通过后,研发同步最新master分支代码,提MR进行代码评审,评审通过后,合并代码到release分支。
  6. 灰度环境(UAT)测试
    研发将release分支部署到灰度环境(UAT),进行回归测试和灰度验证。
  7. 回归测试通过后
    回归测试通过后,再次同步最新master分支代码,将release分支合并到master分支,将master分支部署到生产环境。
  8. 完成任务
    确认生产环境稳定无问题后,结束本次开发流程。

如图所示:
在这里插入图片描述

比较直观:
在这里插入图片描述

命名规范
分支命名
<类型>_<任务号>

类型
feature
hotfix
任务号
JIRA单号
示例
feature分支
feature_CO-xxx,feature_SO-xxx
hotfix分支
hotfix_CO-xxx, hotfix_SO-xxx
release分支(根据当天日期作为tag)
release_20241008_1 (版本有变动,则最后的数字是版本号,递增)
特殊情况(集成分支作为功能分支)
feature_CO-xxxx_CO-xxxx

分支合并

渠道
MR审批权限
前置卡点
操作时机
feature_CO-xxx–>test1

将feature_xx-xxx分支合并到test1(test2,test3,test…) 固定分支
测试团队

  • 研发自测冒烟通过

代码提测
feature–>release_xxxx_x
通过MR将feature分支代码合并到release_xxxx_x分支

团队负责人
核心员工

  • feature分支CI成功
  • 完成功能测试和自动化回归
  • 完成安全审核和扫描
  • 进行代码评审
  • 完成验收
    代码发布灰度环境(UAT)

release_xxxx_x --> master

将release_xxxx_x分支合并到master分支

  • feature分支CI成功
  • 完成回归测试和自动化回归
  • 完成验收
    代码发布生产环境
    (PRD)

hotfix–>master
通过MR将hotfix分支代码合并到release_xxxx_x分支,
将release_xxxx_x分支合并到master分支

团队负责人
核心员工

  • hotfix分支CI成功
  • 进行代码评审
  • 完成功能测试和自动化回归
  • 完成安全审核和扫描
  • 完成验收
    代码上线发布前
    master→feature | hotfix | release_xxxx_x
    通过研发本地环境合并master分支并提交
  • master分支CI成功
  • master分支无发布
  • 日常同步master
  • 功能测试前
  • 自动化回归前
  • 代码合并master前

分支和release_xxxx_x清理
清理规则:
1、分支数>10且最后活动时间超过1个月的分支
2、release_xxxx_x数>10且最后活动时间超过2周的release_xxxx_x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端加油站

你遇到的坑将由我来踩

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值