public/技术规范/佛山许可登记代码与版本发布管理规范.md

7.0 KiB
Raw Blame History

佛山许可登记代码与版本发布管理规范

拟稿:研发中心
版本号0.0.8
发布时间2022.09.9

目录

一、 代码管理

代码仓库组织

建立Git组织团队名为fsrl,专门托管佛山许可登记系统的项目代码,并把开发人员权限统一管理起来。

组织地址: http://47.107.61.133:3000/fsrl

仓库列表

工程名 主题
fsrl-org 系统组织架构系统
fsrl-scr 商事登记2.0
fsrl-server 许可登记大后台
fsrl-approve 许可登记大前端
fsrl-biz-speq-web 质监网办PC前端

分支简介

工程的分支主要两种,一种是长期分支,一种是功能开发的主题分支。其中master,dev是长期分支。

master分支

master分支始终代表生产环境的状态不能直接在上面提交代码。并大版本的发布应该进行打标签Tag存储正式发布的历史。

dev分支

dev 分支作为功能的预发布集成分支包含所有的代码提交记录。dev分支代表针对下一版本的最新交付的代码。在合并了其他功能分支的情况下使用 dev分支的代码进行测试然后与 master 分支合并。

开发分支

根据系统功能需求划分,创建对应的开发分支,负责存储相应的开发功能代码。开发人员从 master分支创建新分支并开发新功能。功能开发完毕后将对其进行测试与 dev分支合并。

分支管理

  1. master分支上保留完全稳定的代码不允许直接push代码
  2. master分支只能从dev分支合并push
  3. 开发分支创建基于master拉取创建并且命名采用英文定义
  4. 开发分支删除,当功能正式上线稳定一定的周期,并取得项目经理允许,即可删除分支。
  5. 工程代码与分支需要严格规范管理起来,划分清楚工程与分支的边界
  6. 设立开发分支代码管理负责人,负责日常合并、与其他开发模块代码协同等操作

跨工程分支管理

所谓的跨工程分支,意义上是同一个事项或功能开发,并涉及多个工程的分支管理。

  1. 同属一个功能开发,要统一相同的分支命名
  2. 分支拥有一致生命周期

例如:

功能模块 涉及工程 分支名称
一照通行 fsrl-scr,fsrl-server,fsrl-approve zzt
食药许可 fsrl-scr,fsrl-server,fsrl-approve food_med
质监许可 fsrl-scr,fsrl-server,fsrl-approve,fsrl-biz-speq-web speq

分支负责人职责

  1. 每天负责合并master主线代码到开发分支上
  2. 上线发版需要经过测试环境测试主动把代码合并dev分支上
  3. 发版需要告知升级负责人,本次升级涉及那些工程以及说明,要通过文本方式告知留底

开发人员管理

  1. 编写代码时,要在正确的分支下开发,特别是负责多个模块开发人员,禁止代码串门提交不相关分支
  2. 每天来了先拉取同步远程仓库的代码并在下班或定期提交代码到Git仓库禁止攒着代码放大招
  3. 禁止个人独立创建开发分支,要经过负责人同意
  4. 开发规范可参考: 技术规范

二、 版本发布管理

版本发布工具

版本系统主要功能有,升级补丁,退回版本,补丁文件防篡检验。改生产环境发布版本,需要通过版本管理系统工具发布,禁止私自手动拷贝替换操作。

版本打包服务器172.22.80.91:22

控制端访问地址http://172.22.80.91:8086/incre/web/#/control/app

佛山客户端访问地址http://19.130.241.146:9888/incre/web#/client/project

顺德客户端访问地址http://19.202.179.137:9888/incre/web#/client/project

版本发布时间

系统升级要按照制定的时间执行,各模块的负责人要提前把代码功能测试好并提交,并告知升级负责人。逾期得等到下次升级,紧急情况下,可以向项目经理申请,通过方可以执行升级。

环境 升级时间
生产环境 周四19点
测试环境 获得准许即可升级

发布流程管理

  1. 每次发布版本要经过测试环境验证流程测试环境dev > 正式环境master
  2. 分支合并由分支负责人合并到dev测试环境测试没有问题再由升级负责人合并到主线master上打包发布正式环境
  3. 测试环境发布版本,可以由分支负责人来负责打包升级
  4. 生产环境发布版本,由升级负责人打包升级,并且只能使用版本打包服务器打包
  5. 生产环境升级与回退只能使用版本管理系统操作

升级负责人职责

  1. 合并分支dev至master主线
  2. 生产环境版本系统发布升级
  3. 系统回退版本的操作

开发人员管理

  1. 每次升级的代码,编写开发人员,需要保持在线状态
  2. 修改了工程的静态配置文件,需告知分支负责人
  3. 变更了库表字段,需告知分支负责人收集转交给数据库负责人

三、 代码分支与版本发布流程图