一、什么是源码交付?为什么要源码交付?
在新环境,微服务的体系中重新构建一套已有的项目,你会发现困难重重,不是缺少jar包,就是缺少服务。怎么解决?
产品是由源码构建成的服务,产品越大服务越多,对应源码的复杂程度也会更强。产品每一轮的迭代,服务之间的装配调用,源码工程相互的依赖,既要保障研发效率,又要保障源码交付质量,实乃大事也!
IT企业源码是产品的核心价值,源码归属于产品的一部分,所以源码一定要交付。
二、怎么实现源码交付
源码交付不是简单的把源码一拷贝交付了事,源码也要有版本,有了版本才能更好的管理代码。
1.统一源码路径
(1)分支:由归档后的主干创建,操作人员为项目研发,用于新需求功能实现。
(2)主干:由提测分支合并,操作人员为质控测试;用于功能测试、测试环境、预发布环境、生产环境的运行。
(3)Tag:预发布环境验收通过,发布生产环境并完成版本归档,操作人员质控测试,用于记录生产环境稳定版本,便于回滚主干操作。
2、通过源码版本提交记录映射业务版本号,实现保证不同业务版本源码的一致性。
2.1 确定基线
Trunk:工程Demo – 特性开发 – 稳定版本
2.2 拉分支
分支来源于稳定主干,用于新功能的实现。稳定主干均需符合以下条件:
(1) 版本已发布生产环境;
(2) 版本 完成版本归档。
2.3 合并主干
由提测分支合并,用于功能测试、测试环境、预发布环境、生产环境的运行。
合并主干需具备前置条件:提测邮件。提测邮件需具备以下六要素:
项目名称、版本号、分支路径、脚本路径、部署手册、功能边界
2.3.1直接合并主干
提测版本号末位-1与当前主干版本号一致。
2.3.2先同步该主干,再合并主干
(1)提测版本号末位-1与当前主干版本号不一致;
(2)其他分支有归档记录,找到最近一次归档的版本号。
2.3.3先回滚上一版本,再合并主干
(1)提测版本号末位-1与当前主干版本号不一致;
(2)其他分支无归档记录;
(3)提测版本号末位-1在历史版本中存在 , 则需找到主干版本号末位-1的主干。
2.3.4先回滚分支对应主干,再合并主干
(1)提测版本号末位-1与当前主干版本号不一致;
(2)其他分支无归档记录;
(3)提测版本号末位-1在历史版本中不存在,则需找到对应的拉分支时主干。
三、总结
得代码者得易,懂代码者难,懂得代码者可得天下!