一、插件相关
1、苍穹插件是以zip压缩包的文件形式上传到appstore中的cus文件夹中,所以需要将相关的jar包文件根据需要组合压缩成一个zip压缩包,注意不能将所有jar文件放到一个文件夹中之后再压缩文件夹,需要将多个jar包选中直接压缩成一个zip文件
2、插件上传完之后如果是第一次上传需要对应的容器服务配置环境变量重启容器服务,配置完容器变量重启后插件部署才算一个完整的流程;所以在生成zip压缩包文件时一定要规范文件名
3、已经配置过环境变量的插件包,上传完插件后不需要再次配置环境变量,但需要重启容器,容器重启后新的插件包才会起作用,如果重启失败,服务仍然运行的是旧插件包
4、建议将引用的第三方jar包单独打包成一个zip文件,将通用的底层jar包打包成一个zip文件,将业务相关经常变动的jar包根据需求打包成一个或多个zip文件
二、插件异常
1、插件未上传
2、上传完未配置环境变量
3、容器服务未重启
4、插件已上传且已配置环境变量仍不可用,需要排查下是否多个zip压缩包包含同一个不同版本的jar包,通常可以根据压缩包名称排查,比如rm-dev-a.zip与rm-dev_a.zip,rm-dev-common.zip 与rm-dev-com等相近或者业务插件包与公共插件包等
5、在重启过程中如果上传的插件不全会导致容器重启失败,为了环境的运行会将对应的zip压缩包的环境变量去掉;如果线上某个插件突然找不到,可能因为某个插件包上传覆盖了旧的插件包而导致缺少对应的jar包,也可能是因为上传插件不全而导致的异常,总之可以将正常的插件包重新上传后重启容器再试
6、排查方法:
a、按下图所示登录monitor,在左侧导航中找到【注册中心】,选择其中一个对应的【微服务】节点,然后点击【系统属性】,在【Key/Value】录入框中输入要排查的插件包名称,比如rm-sms.zip,去掉.zip之后即为插件环境变量,输入之后点击右侧【查询】按钮,在搜出的列表中找到【CUSLIBS】对应值,如果【CUSLIBS】右侧对应值不存在或者查询的结果中不包含【CUSLIBS】的【KEY】值,那么则说明没配置插件包对应的环境变量,这时候需要联系运维同事并提供对应的插件包值
b、在搜出来的结果值中KEY对应的值【KD_CLASSPATH】值右侧中查找对应的【.jar】包,如果查找的结果中包含多个不同版本的jar包,则说明在多个插件包中含有不同版本的jar包,这时需要查找配置的环境变量对应的zip包中是否含有不需要的.jar包,找到之后删除不需要的jar包然后重新打包重新上传,上传后重启服务
c、在【注册中心】中查看下所有的【微服务】列表中对应的【启动时间】,如果启动时间大于上传插件的时间,则说明环境是已经重启,否则如果【启动时间】小于上传的时间,则说明上传完插件之后环境未能重启或者重启失败,需要联系运维同事或者登录重启服务对应的jenkins\gpass重启对应容器