分支模型和权限
我们用的是master(生产),release(预生产),integration(测试),develop(开发) 分支模型
git平台:gitlab
分支权限
前端后端:拥有的的权限只有开发分支的合并 开发组长:拥有的的权限有开发、测试、预生产、生产分支的合并
发布权限
前端后端:拥有的的权限只有开发环境的发布 开发组长:拥有的的权限只有开发环境、测试环境的发布 测试:拥有的的权限只有测试环境、预生产的发布 运维:拥有的的权限只有生产的发布
开发上线流程
1.需求评审 2.开发排期 3.开始开发 4.测试冒烟 5.冒烟通过提测,合代码到测试分支 6.测试测试,开发修bug 7.测试完成,发布预生产,合代码到预生产 8.预生产测试,修bug,修完的bug要走测试再走预生产 9.预生产产品验收,提交生产,合代码到生产,生产运营(客户)验收 10.结项
重点第三步开始(新需求开发):
1.开始开发要切换分支到release或者master
git checkout release
git checkout master
2.开发新需求先把 预发布/生产上最新代码拉下来
git pull
3.创建自己的独立分支并在这个分支上开发
git checkout -b 分支名 分支名要有命令规范,不要随便取,不然鬼才知道你这个分支是干嘛的 例如:业务或项目名缩写-版本-开发人姓名
git checkout -b tfsc-2.7-hqg
4.开发完成提交代码
git add .
git commit -m'提交描述'
git push
提交描述怎么写? 新需求提交:feat:需求8296-新增购物车需求 bug修复:fix:bug12890-购物车按钮点不动
git commit -m'fix:bug12890-购物车按钮点不动'
5.开发前后端开发环境联调 线上合并代码到develop分支,开发人员有权限,自己线上合并即可,然后jekins构建项目,结合你本地运行代码,你和后端就可以联调了(你本地调,后端看你发布到开发环境的代码构建后的地址)
就算你有权限自己合并开发分支,也禁止本地merge,所有的merge走线上(下面有指引)!
6.线上申请自己分支合并代码到integration(测试)分支 前面合到develop也是在这里合并!
7.冒烟测试(冒烟在开发环境冒烟) 叫测试在开发环境进行冒烟测试,根据测试的测试用例来测试,有问题及时修改,然后提交代码到自己分支,再线上合并到开发分支。 直到冒烟测试通过,就申请提测,将自己分支最新代码合并到测试分支,联系对应的测试人员构建测试。 8.测试环境测试 边测边修复bug,直到测试完成,测试说可以,再将代码发到预生产,这个作为前端一般是没有权限合并的,只能提交合并申请后由开发组长来完成,然后交测试发布预生产 9.预生产环境测试 也是边测试边修复bug,注意:这里修复的bug要重走测试,测试环境测过了,再发预生产,预生产环境测完了,产品测试,产品觉得ok了,就验收,开始合并到生产环境 9.产环境测试发布验收 生产环境发布需要提上线申请,打tag,然后交给运维发布上线,最后客户验收!
|