开发新功能
1、从master拉一个功能分支,取名为某个版本下的某个产品功能 4.3/精确发券
2、当功能开发好了,合并分支到dev进行联调
3、如果是俩个关联性的分支,应该把分支合并到另外一个分支,在合并到dev分支中。如图。feature3 和feature2
4、功能分支在dev分支已经联调自测通过,将功能分支合并代码到uat环境。
5、测试在uat环境验收通过,将功能分支合并到master中。
6、使用master 代码部署灰度环境,灰度环境使用gray环境配置文件,如果灰度验证通过则使用镜像直接推送到线上环境进行部署。使用飞流自动打git tag
修复bug
1、从master拉取一个hotfix分支,取名为hotfix/具体修复问题
2、修复问题后,验证通过后,合并分支到dev中。
3、hotfix分支在dev分支验证没问题后,合并到uat环境中。
4、测试在uat环境验收通过后,讲hotfix分支合并到master分支中
5、使用master 代码部署灰度环境,灰度环境使用gray环境配置文件,如果灰度验证通过则使用镜像直接推送到线上环境进行部署。使用飞流自动打git tag (网关工程保留原有灰度分支)
6、上线通过后删除hotfix 远程分支。
7、如果是一些需要临时修复数据的。使用新的定时器做一次性触发,触发完后,及时下架定时器
特殊紧急修复bug(灰度正在验证版本内容,有非常严重的bug要紧急修复)
1、从上次部署的tag中拉取一个hotfix分支,取名为hotfix/具体修复问题
2、修复问题后,验证通过后,合并分支到dev中。
3、hotfix分支在dev分支验证没问题后,合并到uat环境中。
4、测试在uat环境验收通过后,讲hotfix分支合并到master分支中
5、使用hotfix/具体修复问题代码部署灰度环境,灰度环境使用gray环境配置文件,如果灰度验证通过则使用镜像直接推送到线上环境进行部署。使用飞流自动打git tag(网关工程保留原有灰度分支)
6、上线通过后删除hotfix 远程分支。
7、如果是一些需要临时修复数据的。使用新的定时器做一次性触发,触发完后,及时下架定时器
合并规范:
1、dev环境可以直接使用merge 代码
2、uat环境使用merge的方式
4、master分支使用merge request的方式
5、如果merge request 合并的时候遇到冲突,解决方式为 拉取master 分支代码到本地新分支,然后把功能分支合并到本地新master分支,再把新master 分支提交merge request 中。撤销之前的合并请求。
6、直接merge 合并的时候处理的方式跟第5点类似
研发人员遵循“六步提交法“:
- 检出分支代码
- 修改代码
- 第一次个人构建(在本机构建,验证功能是否可用)
- 第二次个人构建(合入分支上其他人提交的代码,再次构建)
- 提交代码到开发分支
- 流水线构建代码,如果发生失败会通知到团队所有成员,所有成员必须停下手头工作先解决构建失败的问题
惩罚
发生代码覆盖罚款50元
飞流:
飞流将增加一个线上部署卡点。如果灰度环境验证通过,则直接将镜像部署到线上环境(网关工程除外)
Git用户名称规范:
git提交的用户名称需为自己名字的拼音,方便后续代码找到对应的开发者,严禁使用别的英文名。
idea中git工具的用户名修改