接着准备DEMO的时机,梳理了一下版本生命周期中各种业务操作。主要是按照公司目前的开发流程进行的,以月度版本火车的形式进行交付。
1)版本申请
按照目前的规定,在某些业务需求被纳入月度版本开发计划之后,开发负责人需要在版本管理系统中申请版本号,并同时告之该版本的开发基线版本,以及该版本的计划发布包,也就是某个月度版本火车的车次。同时,该系统会在代码库中新建相应的开发特性分支。
2)月度版本火车与提测
由于月度版本涉及多个部门的多个系统(一般是3个业务开发部门的约10个系统),类似火车的车厢。
在CI/CD系统中,通过建立构建流水线和质量门禁,来把控该版本的质量内建情况是否达标。
通过"dev"->"snapshot"->"release"三个制品库来完成版本构建、提测和发布
3)发布和交付
版本发布的操作其实就是将snapshot库中的某个版本包由测试人员“转移”到release库。
在线上部署时,通过应用部署系统来到该库中“拉取”相应的版本包,完成部署和上线后验证测试的工作后,再将交付结果原路反向“推送”回之前版本管理系统。
4)线上基线库
由于线上环境中系统众多,为了排查系统及时性,我们设计了生产、仿真两套环境的基线库,包括了各系统的版本(版本号、二进制版本包)、代码(代码库/分支/commitid)等信息。在完成交付时的”推送“动作也会触发该基线库中所涉及本次交付的系统的相关信息的更新。
网友评论