一、背景
EAS补丁分支每个版本除了有标准补丁分支外,还有很固定客户的专项补丁分支,这些专项分支输出的补丁都是局部补丁,目前管理控制台补丁管理可以同时安装全局补丁和局部补丁,当客户安装标准分支的全局补丁时就会将专项分支的局部补丁内容完全覆盖,导致功能异常.
二、解决思路
1.安装局部补丁前,需要添加人工判断过程 (引入白名单规则);
2.安装局部补丁后,需要控制全局补丁的安装(引入黑名单规则);
[hide]
三、白名单规则
所有局部补丁安装前首先需要检查是否存在文件localPath_whiteList.xml(admin/config);
注:此文件由产品经理提供给现场,请产品经理先核对现场这个文件内容
存在文件则还需要检查当前安装的局部补丁的moduleName和补丁号是否在文件localPath_whiteList.xml里面(大小写严格匹配)
以上2个条件同时具备才允许安装局部补丁
范例:
<?xml version="1.0" encoding="UTF-8"?>
<modules>
<!-- 领域ID,必填,已存在文件中的领域不用重复添加,领域ID区分大小写,必须要和补丁patch.xml中的moduleName一致,可多个,添加元素格式如下:-->
<module name="BOS_ABS">
<!-- 指定可以安装的局部补丁号-->
<patchNo>PT098765</patchNo>
<patchNo>PT108943</patchNo>
...
</module>
...
</modules>
四、黑名单规则
某一领域模块安装了局部补丁后,这个领域模块将不再允许安装全局补丁
如果安装了该局部补丁会影响其他领域全局补丁安装,则必须随该局部补丁带出黑名单文件,文件命名规则:PT*****_blackList.xml,哪些领域受影响请产品经理确认
PT*****_blackList.xml里面的内容需要通过ant脚本更新与客户环境中localPath_blackList.xml 进行合并(admin/config)(ant脚本由补丁开发人员进行编写)
黑名单里面的领域全局补丁将不允许安装(哪些领域的全局补丁不能按照,请部门设计师梳理)
注:EAS8.2beta分支和EAS8.2正式发版后的正式补丁分支都要支持“黑名单规则”
范例:
<?xml version="1.0" encoding="UTF-8"?>
<patchList>
</patchList>
五、房地产补丁领域
REPM,房地产_项目运营;
REPM_WEB,房地产_WEB项目运营;
REMK,房地产_营销服务;
REMK_WEB,房地产_WEB营销服务;
六、问题咨询
部门:BOS运维及银企系统部
人员:洪程舟、潘秋艳
[/hide]
七、参考
见附件
EAS8 2局部补丁安装策略.pptx(195.93KB)
localPath_blackList.xml(0.36KB)
localPath_whiteList.xml(0.41KB)
PT102547_blackList.xml(0.43KB)
推荐阅读