从1.1.0升级到1.3.0
平台已有的前端模块、组件、服务等清单和详细信息可参考 服务列表。
若无特殊说明,本次升级所有前端模块最新版为 1.3.0
,后端组件、服务版本最新版为 1.3.0.RELEASE
,数据版本为 1.3.0.RELEASE
。
新增组件
- 开发支持组件
组件 | 描述 |
---|---|
hzero-starter-social-wechat-enterprise | 企业微信登录 |
hzero-boot-pay | 支付服务客户端 |
hzero-starter-jdbc | 动态JDBC组件 |
hzero-starter-excel | Excel开发帮助组件 |
hzero-starter-fragment | 文件分片组件 |
hzero-starter-keyencrypt | 主键加密组件 |
hzero-starter-sqlparser | Sql解析器组件 |
hzero-starter-tracer | 日志追溯组件 |
- 消息服务三方支持组件
组件 | 描述 |
---|---|
hzero-starter-integrate-wechat-official | 微信公众号支持组件 |
hzero-starter-integrate-wechat-enterprise | 企业微信支持组件 |
hzero-starter-integrate-dd | 钉钉支持组件 |
- 消息服务短信支持组件
组件 | 描述 |
---|---|
hzero-starter-sms-core | 短信服务支持核心组件 |
hzero-starter-sms-aliyun | 阿里云短信支持组件 |
hzero-starter-sms-qcloud | 腾讯云短信支持组件 |
hzero-starter-sms-baidu | 百度云短信支持组件 |
- 消息服务语音消息组件
组件 | 描述 |
---|---|
hzero-starter-call-core | 语音服务支持组件 |
hzero-starter-call-jingdong | 京东语音服务组件 |
- 文件服务各类存储拆分如下组件
组件 | 描述 |
---|---|
hzero-starter-file-core | 对象存储支持核心组件 |
hzero-starter-file-minio | MinIO存储支持组件 |
hzero-starter-file-aliyun | 阿里云存储支持组件 |
hzero-starter-file-bos | 百度云存储支持组件 |
hzero-starter-file-obs | 华为云存储支持组件 |
hzero-starter-file-cos | 腾讯云存储支持组件 |
hzero-starter-file-aws | aws存储支持组件 |
hzero-starter-file-azure | 微软存储支持组件 |
hzero-starter-file-jdcloud | 京东云存储支持组件 |
hzero-starter-file-ceph | Ceph存储支持组件 |
- 认证服务单点登录组件
组件 | 描述 |
---|---|
hzero-starter-sso-core | 单点登录核心组件,负责域名对应跳转控制等 |
hzero-starter-sso-cas | cas类型单点登录 |
hzero-starter-sso-oauth | oauth类型单点登录 |
hzero-starter-sso-saml | saml类型单点登录 |
hzero-starter-sso-idm | idm类型单点登录 |
hzero-starter-sso-azure | 微软云AD单点登录 |
- 认证服务页面模板组件
组件 | 描述 |
---|---|
hzero-template-oauth-main | 简化版登录模板 |
hzero-template-oauth-slide | 带轮播图的登录模板 |
- 服务插件
组件 | 描述 |
---|---|
platform-cusz | 个性化插件 |
platform-search | 高级检索插件 |
admin-ng | Admin服务节点组插件 |
删除组件
组件 | 描述 |
---|---|
hzero-starter-zuul-ratelimit | 网关Zuul改为spring-cloud-gateway,移除Zuul相关依赖 |
新增服务
组件 | 简称 | 默认端口 | 描述 | SaaS和OP说明 | 数据库Schema |
---|---|---|---|---|---|
hzero-iot | HIOT | 8070 | IoT服务 | 不区分 | hzero_iot |
hzero-search | HSRH | 8090 | 检索服务 | 不区分 | hzero_search |
hzero-dpm | HDPM | 8055 | 数据模型服务 | 不区分 | hzero_dpm |
hzero-ebank | HEBK | 8075 | 银企直联服务 | 不区分 | hzero_ebank |
hzero-charge | HCHG | 8035 | 计费服务 | 不区分 | hzero_charge |
hzero-rule-engine | HRES | 8065 | 规则引擎服务 | 不区分 | 1.3.0.RELEASE |
服务/组件升级
-
修改 pom.xml,如果 parent 依赖的
hzero-parent
,需修改版本号为1.3.0.RELEASE
;如果是自建的 parent 项目,需将其中的 hzero 服务/组件的版本号修改为1.3.0.RELEASE
<parent> <groupId>org.hzero</groupId> <artifactId>hzero-parent</artifactId> <version>1.3.0.RELEASE</version> </parent>
-
修改依赖的服务版本号
<!-- SAAS 版本 --> <dependency> <groupId>org.hzero</groupId> <artifactId>hzero-xxx-saas</artifactId> <version>1.3.0.RELEASE</version> </dependency> <!-- OP 版本 --> <dependency> <groupId>org.hzero</groupId> <artifactId>hzero-xxx</artifactId> <version>1.3.0.RELEASE</version> </dependency>
依赖调整
- 消息服务拆分了短信支持组件,需自行按需在消息服务中引入依赖
组件 | 描述 |
---|---|
hzero-starter-sms-aliyun | 阿里云短信支持组件 |
hzero-starter-sms-qcloud | 腾讯云短信支持组件 |
hzero-starter-sms-baidu | 百度云短信支持组件 |
- 文件服务拆分了各类存储支持组件,需自行按需在文件服务中引入依赖
组件 | 描述 |
---|---|
hzero-starter-file-minio | MinIO存储支持组件 |
hzero-starter-file-aliyun | 阿里云存储支持组件 |
hzero-starter-file-bos | 百度云存储支持组件 |
hzero-starter-file-obs | 华为云存储支持组件 |
hzero-starter-file-cos | 腾讯云存储支持组件 |
hzero-starter-file-aws | aws存储支持组件 |
hzero-starter-file-azure | 微软存储支持组件 |
hzero-starter-file-jdcloud | 京东云存储支持组件 |
hzero-starter-file-ceph | Ceph存储支持组件 |
-
1.2 中移除了
hzero-starter-zuul-ratelimit
组件,如果使用了此组件,需从依赖中移除。 -
认证服务拆分了单点登录组件,需自行按需在OAuth认证服务中引入依赖
组件 | 描述 |
---|---|
hzero-starter-sso-cas | cas类型单点登录 |
hzero-starter-sso-oauth | oauth类型单点登录 |
hzero-starter-sso-saml | saml类型单点登录 |
hzero-starter-sso-idm | idm类型单点登录 |
hzero-starter-sso-azure | 微软云AD单点登录 |
- 认证服务登录页面模板组件化,需自行按需在OAuth认证服务中引入依赖
组件 | 描述 |
---|---|
hzero-template-oauth-main | 简化版登录模板 |
hzero-template-oauth-slide | 带轮播图的登录模板 |
引入依赖后,可通过如下配置选择使用哪个模板:
hzero:
oauth:
login:
# 登录页面模板 main/slide
default-template: main
数据升级
-
请先备份每个库的表结构及数据,便于出问题之后恢复
-
从 gitlab 上下载
1.3.0.RELEASE
的数据库脚本和Excel期初数据ssh: ~ git clone git@code.choerodon.com.cn:hzero-hzero/hzero-resource.git https: ~ git clone https://code.choerodon.com.cn/hzero-hzero/hzero-resource.git ~ git checkout 1.3.0.RELEASE
-
启动交互式脚本安装工具
- 在根目录下打开 bash 窗口,运行 database-init.sh 脚本
- 按步骤选择安装的数据库类型、数据库连接信息、项目版本
- 在浏览器中打开输出的地址
-
先升级表结构
- 安装页面展示了当前版本及可以安装的服务和对应的数据,服务后显示的是对应的数据库schema。
- 首先更新数据库,选择要更新的服务,再点击【更新数据库】即可,如果数据库不存在对应的 schema,会自动创建。
-
升级数据
- 由于消息发送配置与发送账户的关联关系由ID改成编码,需在
hzero_message
库下通过如下SQL手动修复数据。
# mysql oracle 执行 UPDATE hmsg_template_server_line htsl SET htsl.server_code = ( SELECT hes.server_code FROM hmsg_email_server hes WHERE hes.server_id = htsl.server_id ) WHERE htsl.type_code = 'EMAIL'; UPDATE hmsg_template_server_line htsl SET htsl.server_code = ( SELECT hss.server_code FROM hmsg_sms_server hss WHERE hss.server_id = htsl.server_id ) WHERE htsl.type_code = 'SMS'; UPDATE hmsg_template_server_line htsl SET htsl.server_code = ( SELECT hwo.server_code FROM hmsg_wechat_official hwo WHERE hwo.server_id = htsl.server_id ) WHERE htsl.type_code = 'WC_O'; UPDATE hmsg_template_server_line htsl SET htsl.server_code = ( SELECT hwe.server_code FROM hmsg_wechat_enterprise hwe WHERE hwe.server_id = htsl.server_id ) WHERE htsl.type_code = 'WC_E'; # mssql 执行 UPDATE htsl SET htsl.server_code = hes.server_code FROM hmsg_template_server_line htsl, hmsg_email_server hes WHERE htsl.server_id = hes.server_id AND htsl.type_code = 'EMAIL'; UPDATE htsl SET htsl.server_code = hss.server_code FROM hmsg_template_server_line htsl, hmsg_sms_server hss WHERE htsl.server_id = hss.server_id AND htsl.type_code = 'SMS'; UPDATE htsl SET htsl.server_code = hwo.server_code FROM hmsg_template_server_line htsl, hmsg_wechat_official hwo WHERE htsl.server_id = hwo.server_id AND htsl.type_code = 'WC_O'; UPDATE htsl SET htsl.server_code = hwe.server_code FROM hmsg_template_server_line htsl, hmsg_wechat_enterprise hwe WHERE htsl.server_id = hwe.server_id AND htsl.type_code = 'WC_E';
* 在安装页面,选择要更新的数据,再点击【导入数据】即可更新期初数据。
- 由于消息发送配置与发送账户的关联关系由ID改成编码,需在
数据处理
-
汇率类型定义添加多语言支持,可通过如下SQL补全多语言数据 (hzero_platform)
INSERT INTO hpfm_exchange_rate_type_tl ( rate_type_id, lang, type_name ) ( SELECT rate_type_id, 'zh_CN', type_name FROM hpfm_exchange_rate_type t WHERE NOT EXISTS ( SELECT 1 FROM hpfm_exchange_rate_type_tl tl WHERE t.rate_type_id = tl.rate_type_id AND tl.lang = 'zh_CN') ); INSERT INTO hpfm_exchange_rate_type_tl ( rate_type_id, lang, type_name ) ( SELECT rate_type_id, 'en_US', type_name FROM hpfm_exchange_rate_type t WHERE NOT EXISTS ( SELECT 1 FROM hpfm_exchange_rate_type_tl tl WHERE t.rate_type_id = tl.rate_type_id AND tl.lang = 'en_US' ) );
-
执行器自动注册逻辑调整,自动注册类型的执行器需要关联服务名,从注册中心获取执行器地址。因此原有自动注册类型的执行器都需要手动编辑执行器关联服务名。
-
租户管理员增加了[租户管理员标签],需通过如下SQL给所有租户管理员加上标签。
-- MySQL INSERT INTO iam_role_label (role_id, label_id )( SELECT ir.id, ( SELECT id FROM iam_label WHERE name = 'TENANT_MGR' ) label_id FROM iam_role ir WHERE ( ir.code = 'role/organization/default/administrator' OR ir.h_inherit_role_id IN ( SELECT id FROM iam_role WHERE code = 'role/organization/default/template/administrator' ) ) AND NOT EXISTS ( SELECT 1 FROM iam_role_label irl WHERE irl.role_id = ir.id AND irl.label_id = ( SELECT id FROM iam_label WHERE name = 'TENANT_MGR' ) ) ); -- ORACLE INSERT INTO iam_role_label ( id, role_id, label_id ) ( SELECT iam_role_label_S.nextval, ir.id, ( SELECT id FROM iam_label WHERE name = 'TENANT_MGR' ) label_id FROM iam_role ir WHERE ( ir.code = 'role/organization/default/administrator' OR ir.h_inherit_role_id IN ( SELECT id FROM iam_role WHERE code = 'role/organization/default/template/administrator' ) ) AND NOT EXISTS ( SELECT 1 FROM iam_role_label irl WHERE irl.role_id = ir.id AND irl.label_id = ( SELECT id FROM iam_label WHERE name = 'TENANT_MGR' ) ) );
服务部署
-
数据升级完成之后再重启已升级的服务
-
重启完成后,如果因数据缓存问题,可到
开发管理>系统工具
下手动刷新缓存 -
建议按如下顺序重启服务
- hzero-register
- hzero-admin
- hzero-gateway
- hzero-iam
- hzero-oauth
- hzero-platform
- 其它服务
前端升级指南
-
新增服务模块
服务模块 描述 hzero-front-hsrh 检索服务 hzero-front-hiot IOT服务 hzero-front-hdpm 数据模型服务 hzero-front-hebk 银企直服务 hzero-front-hchg 计费服务 hzero-front-hcuz 个性化服务 hzero-front-hres 规则引擎服务 -
调整 package.json 版本
在根目录下的package.json中
手动调整
hzero-front-*的版本号;比如: hzero-front-hiam: ^0.10.0 调整为 hzero-front-hiam: 1.3.0;
服务模块 备注 hzero-front-hcnf
最新版本为1.2.0, 后续不再维护 hzero-front-hlcd
最新版本为1.1.0,后续不再维护,新版lowcode正在迭代中 hzero-front-hsgp
最新版本为1.0.0, 后续不再维护 注意
除没有1.3.0版本的模块外,所有模块版本都要升级到
1.3.0
, 模块信息详见服务列表中前端模块信息
。前端的服务模块中,除了必要的依赖,其他的模块都是
按需安装
的, 不需要的模块直接删除即可- 前端最小依赖至少包含如下模块
- hzero-front
- hzero-front-runtime
- hzero-front-hiam
- hzero-front-hpfm
- hzero-front-himp
- hzero-front-hmsg
- 前端最小依赖至少包含如下模块
-
安装依赖
在根目录下执行该语句,重新安装依赖
lerna bootstrap --registry http://nexus.saas.hand-china.com/content/groups/hzero-npm-group/
或者
yarn --registry http://nexus.saas.hand-china.com/content/groups/hzero-npm-group/
在根目录再次执行
yarn build:dll
编译
lerna run transpile
启动项目
yarn start
注意:
1.只是用yarn升级hzero-front-runtime的话,新的环境变量等配置是不会被更新的。
2.在升级
hzero-front-runtime
时,最好备份一下更改过的环境变量相关的内容和 webpack 配置相关的修改。 -
环境变量的变化
增加环境变量:
CUSTOMIZE_ICON_NAME: 'BUILD_CUSTOMIZE_ICON_NAME', // 客制化的iconfont font family 名称 TRACE_LOG_ENABLE: 'true' // TraceLog日志追溯分析是否启用,true/false MULTIPLE_SKIN_ENABLE: 'true',// UED配置是否启用,true/false
-
升级时可能遇到的问题
-
遇到的报错信息为:
解决办法:在根目录的 src 下创建 assets/icons 文件夹。如果是在子模块启动,也需要在子模块下的 src 下创建 assets/icons 文件夹