本文共 2398 字,大约阅读时间需要 7 分钟。
说明 | 分支环境 | 分支环境 | 分支环境 |
---|---|---|---|
Git 仓库 | develop / dev / feature | release / hotfix | master / prod / main |
运行环境 | 开发 | 测试 | 生产 / 线上 |
自动部署 | - | - | - |
非自动部署 | 前端打包给后台、运维、测试都可以 | 同上 | 同上 |
说明: 大众公司的开发流程规范,比较常见
开发: 开发分支一般以 develop 和 dev 为主,较为常见,命名都是可以的,以 dev 作说明,也是代码开发的主干,顺流而下,开发的时候主干dev 不动,做不同的需求、功能,从 dev 迁出分支,规范命名为 feature-xxx,xxx 为功能需求,一般为需求号(定义需求的时候,需求文档每个需求有对应的需求号),也可做其他命名,如 login 等,没有严格规定,开发完成后合并到 dev 上,再开发再迁分支,测试没问题之后删掉迁出分支即可,迁出或合并 release 分支。
优点:最大程度减小代码冲突,不影响主干流程与走向
缺点:多了一步操作,大多数人不愿意接受
测试: 测试分支为 release 分支,也有称 test 的,不规范。测试人员对 release 分支进行测试,测试出现问题通知开发在 release 上修改,然后自测无问题合并到 dev,master,并在此分支进行 tag 打标签处理。
优点:减少测试成本,无其他分支,正常测试版本居多,分工不同
缺点:严格程度,细节把控可能不到位(需对比严格规范才能理解)
生产: 也叫线上,此环境就是用户所用的环境,进行体验并使用。如果没有问题,则正常维护以上三个步骤即可,如果体验问题严重,需退回上一个稳定版本(tag,名称 + 版本号 + 日期 + 新需求说明),如果使用问题不严重,则在 master(名字而已,也有 prod,main,以 master 为例)迁出分支 hotfix,命名为 hotfix-xxx,xxx 为 bug 号,然后修复,此时,测试分支为 hotfix 这个分支,修复完成之后合并到 dev,再合并到 release 进行测试,无问题按照流程走,并打 tag 标签,此时是小版本,所有的 hotfix 都是小版本,release 是大版本,有问题重新修改
优点:流程规范,一般不会有大问题
缺点:流程繁琐,小公司不屑之,浪费时间
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lAB1JavV-1616724042879)(/Users/manman/Library/Application Support/typora-user-images/image-20210325132603353.png)]
说明 | 分支环境 | 分支环境 | 分支环境 | 分支环境 |
---|---|---|---|---|
Git 仓库 | develop / dev / feature | sit | uat | master / prod / main |
运行环境 | 开发 | 集成测试,内部测试 | 验收测试,产品需求测试 | 生产 / 线上 |
自动部署 | - | - | - | - |
非自动部署 jar 包 | alpha(α) | beta(β) | RC | release |
说明: 大公司或严格软件公司的开发流程规范,比较常见
开发: 开发分支一般以 develop 和 dev 为主,较为常见,命名都是可以的,以 dev 作说明,也是代码开发的主干,顺流而下,开发的时候主干dev 不动,做不同的需求、功能,从 dev 迁出分支,规范命名为 feature-xxx,xxx 为功能需求,一般为需求号(定义需求的时候,需求文档每个需求有对应的需求号),也可做其他命名,如 login 等,没有严格规定,开发完成后合并到 dev 上,再开发再迁分支,测试没问题之后删掉迁出分支即可,迁出或合并 sit 分支。
优点:最大程度减小代码冲突,不影响主干流程与走向
缺点:多了一步操作,大多数人不愿意接受
测试: 测试分支为 sit,uat 分支。
- sit: 集成测试,也叫内部测试。测试人员(公司测试人员)对 sit 分支进行测试,测试出现问题通知开发在 sit 上修改或者其自己对应的分支进行修复操作,然后自测无问题合并到 sit 进行测试,无问题迁出或合并到 uat,测试过程中,可进行粗略测试,如数据,随便编写。
- uat: 验收测试,也就是产品需求对相关需求功能进行验收,测试步骤极为严格,必须按照真实情况走流程,如存在问题,走 dev、sit 流程,如无问题,则合并到 master 分支,并在此分支进行 tag 打标签处理。
优点:细节把控到位,极大程度减小缺陷
缺点:测试繁琐,要求严格
生产: 也叫线上,此环境就是用户所用的环境,进行体验并使用。如果没有问题,则正常维护以上三个步骤即可,如果体验问题严重,需退回上一个稳定版本(tag,名称 + 版本号 + 日期 + 新需求说明),如果使用问题不严重,则在 master(名字而已,也有 prod,main,以 master 为例)迁出分支 hotfix,命名为 hotfix-xxx,xxx 为 bug 号,然后修复,此时,测试分支应该是 hotfix,修复完成之后合并到 dev,master,无问题按照流程走,打小版本 tag,小版本,uat 是大版本,有问题重新修改
优点:流程规范,一般不会有大问题
缺点:流程繁琐,小公司不屑之,浪费时间
自动部署,无需操作,代码上传即可
非自动部署: 需要手动打包给测试或运维,看流程需要,开发版本为α,sit 版本为β,uat 版本为 RC,生产版本为 release,命名格式一般为 2.0.0.2.21.325-Beta.zip
诸如此类,rar,7z 看需要
**❈ ** 正常一般生产环境是运维,其他应该是测试
转载地址:http://aqwni.baihongyu.com/