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

119 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 佛山许可登记代码与版本发布管理规范
> <div><span>拟稿:研发中心</span></div>
> <div><span>版本号0.0.2 </span></div>
> <div><span>发布时间2022.02.22 </span></div>
**目录**
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
- [一、 代码管理](#%E4%B8%80-%E4%BB%A3%E7%A0%81%E7%AE%A1%E7%90%86)
- [1. 代码仓库组织](#1-%E4%BB%A3%E7%A0%81%E4%BB%93%E5%BA%93%E7%BB%84%E7%BB%87)
- [2. 代码分支管理](#2-%E4%BB%A3%E7%A0%81%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86)
- [3. 分支负责人职责](#3-%E5%88%86%E6%94%AF%E8%B4%9F%E8%B4%A3%E4%BA%BA%E8%81%8C%E8%B4%A3)
- [4. 开发人员管理](#4-%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E7%AE%A1%E7%90%86)
- [二、 版本发布管理](#%E4%BA%8C-%E7%89%88%E6%9C%AC%E5%8F%91%E5%B8%83%E7%AE%A1%E7%90%86)
- [1. 版本发布工具](#1-%E7%89%88%E6%9C%AC%E5%8F%91%E5%B8%83%E5%B7%A5%E5%85%B7)
- [2. 发布流程管理](#2-%E5%8F%91%E5%B8%83%E6%B5%81%E7%A8%8B%E7%AE%A1%E7%90%86)
- [3. 升级负责人职责](#3-%E5%8D%87%E7%BA%A7%E8%B4%9F%E8%B4%A3%E4%BA%BA%E8%81%8C%E8%B4%A3)
- [三、 流程图](#%E4%B8%89-%E6%B5%81%E7%A8%8B%E5%9B%BE)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
## 一、 代码管理
### 1. 代码仓库组织
建立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分支**
master分支始终代表生产环境的状态不能直接在上面提交代码。Master分支上的Commit应该Tag存储正式发布的历史。
**develop分支**
develop 分支作为功能的集成分支包含所有的代码提交记录。develop 分支代表针对下一版本的最新交付的代码。开发人员从 develop 分支创建新分支,并开发新功能。功能开发完毕后,将对其进行测试,与 develop 分支合并,在合并了其他功能分支的情况下使用 develop 分支的代码进行测试,然后与 master 分支合并。
### 2. 代码分支管理
1. 工程代码与分支需要严格规范管理起来,划分清楚工程与分支的边界
2. 针对同个事项模块开发,涉及多个子工程,要统一分支命名
3. 设立模块分支代码管理负责人,负责日常合并、与其他模块相关协同等操作
| 涉及工程 | 功能模块 | 分支名称 | 分支负责人 |
| ----------------------------------------------------------- | -------- | ---------- | ---------- |
| `fsrl-scr`,`fsrl-server`,`fsrl-approve` | 商事登记 | shangshi | |
| `fsrl-scr`,`fsrl-server`,`fsrl-approve` | 一照通行 | yizhaotong | |
| `fsrl-scr`,`fsrl-server`,`fsrl-approve` | 食药许可 | shiyao | |
| `fsrl-scr`,`fsrl-server`,`fsrl-approve`,`fsrl-biz-speq-web` | 质监许可 | zhijian | |
### 3. 分支负责人职责
1. 每天负责合并master分支代码到开发分支上
2. 上线发版需要经过测试环境测试主动把代码合并develop分支上
3. 发版需要告知升级负责人,本次升级涉及那些工程以及说明,要通过文本方式告知,留底
### 4. 开发人员管理
1. 编写代码时,要在正确的分支下开发,特别是负责多个模块开发人员,禁止代码串门不相关分支
2. 每天来了先拉取同步远程仓库的代码并在下班或定期提交代码到Git仓库禁止攒着代码放大招
3. 禁止个人独立创建开发分支,要经过负责人同意
4. 变更了工程的静态配置文件,需告知分支负责人
5. 开发规范可参考: [技术规范](http://47.107.61.133:3000/chinaweal/public/src/branch/master/技术规范)
## 二、 版本发布管理
### 1. 版本发布工具
生产环境发布版本,需要通过版本管理系统工具发布,禁止私自骚操作
**版本打包服务器:**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
### 2. 版本发布时间
系统升级要按照制定的时间执行,各模块的负责人要提前把代码功能测试好并提交,并告知升级负责人。逾期得等到下次升级,紧急情况下,可以向项目经理申请,通过方可以执行升级。
| 环境 | 升级时间 |
| -------- | -------------------------- |
| 生产环境 | 周三19点、周四19点 |
| 测试环境 | 获得准许即可升级 |
### 3. 发布流程管理
1. 每次发布版本要经过测试环境验证流程测试环境develop > 正式环境master
2. 分支合并由分支负责人合并到develop测试环境测试没有问题再由升级负责人合并到主线master上打包发布正式环境
3. 测试环境发布版本,可以由分支负责人来负责打包升级
4. 生产环境发布版本,由升级负责人打包升级,并且只能使用版本打包服务器打包
### 4. 升级负责人职责
1. 合并分支develop至master主线
2. 生产环境版本系统发布升级
## 三、 流程图
<img src="../img/佛山许可登记代码与版本发布管理规范.png" style="width:100%"/>