tag:用于记录每个发布的版本。由对应发布分支或者hotfix分支,发布完成后打tag
master:记录最新发布代码
hotfix:基于某个已发布版本(tag)修复问题快速发布。
feature-jenkins:自动打包分支,由开发分支往该分支合并代码,自动触发jenkins打包流程。
feature-${ver}:当前开发分支,从master分支创建。封版完成:1)合并到feature-jenkins打包验证通过发布;2)合并到master,用于下一个版本分支创建;3)打tag记录
feature-${dev}:个人开发分支,从版本分支拉取创建,修改提交到版本分支
从对应BUG版本的tag中创建hotfix分支
从hotfix分支创建对于的问题解决开发分支:feature-${dev}
问题修复自测通过之后,代码合并到hotfix分支
hotfix分支打包验证&发布,出tag
当前开发版本分支拉取同步hotfix修改
从master创建版本分支:feature-v_1.2.0
个人从版本分支创建/同步个人分支:feature-lisj
个人开发完成提交MR合并代码(参考第二部分)。MR之前手动打包自测功能
MR之后可选向feature-jenkins提交MR,触发自动出包,提供给测试回归
封版之后,feature-v_1.2.0版本分支出包线上环境回归。
线上环境出包回归通过,feature-v_1.2.0代码合并到master,并由feature-v_1.2.0分支打tag
提交MR流程,以feature-lisj解决完 mac多网络问题往feature-2.2.0.0合并
// [feature-lisj]:缓存修改代码git stash// [feature-lisj]:本地切换到feature-2.2.0.0分支git checkout feature-2.2.0.0// [feature-2.2.0.0]:拉取feature-2.2.0.0远程仓库最新代码git pull// [feature-2.2.0.0]:切回feature-lisj开发分支git checkout feature-lisj// [feature-lisj]:rebase feature-2.2.0.0新提交git rebase feature-2.2.0.0// [feature-lisj]:释放修改代码,如果存在冲突解决冲突git stash pop// [feature-lisj]:解决冲突后,提交修改代码,推送到远程仓库git add .git commit -m "[ESSC-18] 解决多网络环境切换策略"git push
完成以上操作之后,在云效代码仓库创建MR任务。
自动打包:feature-jenkins分支有MR合并之后自动触发jenkins打包
手动打包:可以选择打包分支,例如hotfix或者个人验证某个功能时选择对应个人分支。
配置最多排队任务,超过时在打包触发时报错:当前过多排队打包任务