《版本控制指引.docx》由会员分享,可在线阅读,更多相关《版本控制指引.docx(10页珍藏版)》请在优知文库上搜索。
1、版本控制指引概念产品版本项目/子项目所定义的版本,两节:x.y。如智计划1.2,那么这个产品版本号为1.2o工程版本代码构建产物的版本。工程版本号通常为四节,x.yzbuild。x.y继承产品版本号;Z在敏捷项目团队中是冲刺编号,在瀑布团队中为流水号。该节用于区分不同的研发、上线周期;build为构建流水号,通常由构建工具自动生成。测试代码同样也有工程版本号。目前测试代码没有发布流程,也没有通过工具发布,所以z.build由测试团队人员自行决定。原则上每一次正式交付,变更Z。发布标签每一次发布到生产,在git代码库中恪合对应的commit标记一个标签,值为部署物的工程版本,即x.zy.z.bu
2、ildo目标统一分支管理策略以及定义。版本化一切,最终提高项目的团队合作效率、加速新功能开发和发布管理。原则.采用GitHubFlow策略(推荐)或基于主干开发策略。 要求项目有完善的自动化测试、持续集成和部署等相关的基础设施。 版本化一切。.团队有代码审查的相应流程。 具备自动部署的条件规范代码仓库必须:代码应放在集团统一的代码仓库。.必须:工程的可见性不能设置为publico.必须:只允许给项目相关开发人员配置权限,并应该遵循最小授权原则。.必须:代码项目创建在团队空间内,不允许放在个人空间。 建议:团队空间命名格式为:group/subgroupogroup为产品线简称,如果产品线有多个
3、子产品,再加上subgrouposubgroup为子产品简称。如gaia/gfs,group=gaia,subgroup=gfso 建议:代码项目命名格式为:项目代号-模块卜子模块-孙模块。如:gaia-gfs-demozhalo-wechato这样,GIT中完整的空间-项目名为:gaiagfsgaia-gfs-demoo分支命名GitHubFlow 必须:master分支被保护,不允许直接提交至master0 必须:创建分支使用有意义的名称头,功能开发用featureJIRA编号-*zbug修复用bugJIRA编号-*,热修复用hotfixJIRA编号如feature/XM1907901-1
4、390-enable_audit_log_for_inventory,bug/XM1907901-1403-xxxxxxx0建议:创建分支开始后,就创建一个MR,用于描述思路,并记录讨论过程。.建议:未完成的MR以WlP:开头,如:WIP:用户1分钟未有动作,自动锁屏。.必须:至少有一个成员同意合并,才允许合并分支。 建议:合并分支时,使用-squash,或选中gitlab界面上的XSquashcommitswhenmergerequestisacceptedo版本 必须:每一次准备发布生产的交付物,打上发布标签l并记录ReIeaSeNotso 建议:数据库有版本号。不同版本的数据库变更脚本,
5、支持幕等操作,以便自动化完成升级/降级。 建议:测试用例、测试数据也有版本号,要么和代码工程版本一致,要么自定义,和代码工程版本有对应关系。 建议:推荐使用Flyway,EntityFrameworkMigrations来管理DB版本。推荐实践版本号使用场景敏捷项目冲刺开始,定义本冲刺版本的前三节。提交、解决、关闭bug时,正确填入了DevOps中对应的工程版本号。DevOps构建时,根据前三节,自动补充最后一节的编译流水号。发布至生产环境时,DevOps根据工程版本,自动生成tag标签。如果只通过DevOps部署,则没有冲刺版本。DevOps根据产品版本,自动加上制品的上传批次号,如1.2.
6、13,以追踪各环境和不同版本部署物的对应关系。假设场景项目名开发启动移交测试回归时上线时称时间时间间间XX项目9月1日9月15日9月259月26日日开发流程序号时间事项描述命令说明19从从master创建gitcheckout所有月ma分支。分支名master参与1ste称:gitpull人员日r新feature/11-Addgitcheckout-b都提建分支_redis_supportfeature/11-add_redis_supportgitpush-set-upstreamoriginfeature/ll-add_redis_support交到此分支9设提交、提交、提gitaddal
7、lgit月计、交commit-a-m2编movedisplay日写nametoredis代gitpush码与测试9开从gitlab的站点如果月启中创建一个并未3MRMRo做日,以完,开MR23启讨论和Review以nWIP:”开头49月15日59月16日讨论、修改、测试讨论方案、修正review的改进项。循环修复bug并不断push到远程分支。gitadd.gitcommit-ammoveonand_lon每日mergemaster代码到分支。gitmergemaster79自master代码可gittagadd选中月动以发布时,打上1.1.0Squ2化、版本号标签,gitpushtagash5人1.1.0com日工mits验when收merg全e部requ通estis过,accepMRtedz通选中过Deletesourcebranehwhenmergerequestisacceptedu89月26日部署生产环境部署mastero通告其他分支开发人员尽快mergemaster代码