Skip to content

Commit 872823c

Browse files
author
ying.liu
committed
Merge branch 'master' of https://github.com/cntehang/dev-docs
2 parents 31c069a + 1a7b849 commit 872823c

File tree

5 files changed

+80
-1
lines changed

5 files changed

+80
-1
lines changed

.DS_Store

6 KB
Binary file not shown.

backend/java-code-guideline.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,18 @@ HTTP/1.1 200
132132
- 使用异常类型而非异常信息来分辨异常来自的不同 Domain 类
133133
- **注意**:以上两个例子即使和你的业务契合,也不一定满足和你的业务要求
134134

135-
### 9. LOG 的等级划分 => 后面提供要求文档(刘博)
135+
### 9. LOG 的要求
136136

137137
- **结论**
138138
- 不要求进出都写,非常短小的的方法不用写,只要能追踪主要参数即可
139139
- 数据量太大时打印变量用 Trace,数据量小用 Info
140+
141+
### 10. 前后端交互的日期格式
142+
143+
- 系统中日期时间分两类
144+
- 系统生成的时间,如创建时间、更新时间等
145+
- 第三方传来的时间,如航班起飞时间等
146+
- 对于**系统生成时间**
147+
-前后端交互过程中统一转为 UTC 时间,采用的格式为:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
148+
- 对于**第三方传来时间**
149+
- 前后端交互过程中不对日期格式做转换处理

backend/release-guideline.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# 发布流程
2+
3+
![OSS](https://static.cnbetacdn.com/article/2018/0821/6516ac17b422c31.png)
4+
5+
在test/prod环境,需要进行代码与运行程序的版本化控制,目前项目使用github的release功能来做版本发布与管理,结合项目工程,制定该流程。
6+
7+
## 1. 发版流程
8+
9+
发布新版本的流程如下:
10+
11+
1. 发版
12+
13+
登录github,在工程页面,点击release -> Draft a new release -> 填写对应的version tag(来自于build_scripts/application_version.gradle中的版本号)与release title(与version一致),从updlate文档把修改历史拷贝到describe中 -> Publish release,如下:
14+
15+
![发布示例](./resources/release_example.png)
16+
17+
2. 通知运维发布新版,并确定发版成功
18+
19+
3. 版本迭代
20+
21+
发布之后,发布人需要把当前版本号更新迭代,如v2.0.1 -> v2.0.2,迭代涉及以下工作:
22+
23+
- 修改build_scripts/application_version.gradle中的版本号
24+
- 新建该版本对应的sql目录
25+
- 修改update文件,把版本号改为最新的,并且删除所有的修改历史
26+
- 把上述修改push并merge到master中
27+
28+
*特别注意:*
29+
- release Tag version 是打包时实际上采用的版本号,应与 application_version.gradle 中的版本号一致,且与 update.md 中的当前版本字段一致
30+
- release Title 与 release Tag version 保持一致
31+
- release 描述文字,复制 update.md 中的**更新内容****回滚操作**中的条目对齐即可
32+
33+
## 2. 版本相关文件
34+
35+
在工程中,与版本相关的几个文件,特此说明:
36+
37+
### 2.1 build_scripts/application_version.gradle
38+
39+
打包相关的版本信息,内部记录了对应的版本号,发版之后需要按照流程迭代版本号
40+
41+
```text
42+
version = 'v2.0.1'
43+
jar {
44+
archivesBaseName = 'tmc-services'
45+
}
46+
```
47+
48+
### 2.2 sql/vX_X_X
49+
50+
对应版本需要执行的sql语句存放的目录,vX_X_X与版本号对应,由发版人员新建,开发人员在该版本使用的sql都存放在对应的目录下
51+
52+
### 2.3 update.md
53+
54+
对应版本的修改历史,具体内容如下:
55+
56+
```text
57+
# 版本升级基本内容
58+
- 当前版本 v2.0.2
59+
- 上一版本 v2.0.1
60+
- 更新内容:
61+
- 登录流程中加入了验证码元素,当登录失败超过三次需要输入验证码,最后一次输入错误15分钟后可不用输入验证码
62+
- 回滚操作
63+
```
64+
65+
以上所写内容应概括本次提交中的要点,需注意以下几点
66+
67+
- 版本号由发版人在发布新版后迭代更新,与application_version中的版本号一致,在发布该版本之前不允许修改
68+
- 开发过程中,每个pr都需要如实记录提交的内容,并且带上pr链接与issue链接
69+
- 发布成功后,由发布人更新update文档
189 KB
Loading

backend/resources/release_example.png

270 KB
Loading

0 commit comments

Comments
 (0)