升级服务清单
以下服务或组件升级至 0.11.0.RELEASE
组件
- hzero-parent
- hzero-starter-parent
- hzero-boot-parent
- hzero-plugin-parent (op/saas)
- hzero-gateway-helper-api
- hzero-gateway-helper-default
服务
-
hzero-register
-
hzero-config (op/saas)
-
hzero-gateway
-
hzero-asgard
-
hzero-swagger
-
hzero-oauth
-
hzero-iam (op/saas)
-
hzero-front
-
hzero-platform (op/saas)
-
hzero-file (op/saas)
-
hzero-message (op/saas)
-
hzero-portal (op/saas)
-
hzero-report (op/saas)
-
hzero-scheduler (op/saas)
-
hzero-import (op/saas)
-
hzero-pay
-
hzero-npl
-
hzero-monitor
-
hzero-transfer
-
hzero-interface(op/saas)
-
hzero-workflow-plus
服务/组件升级
-
修改 pom.xml,如果 parent 依赖的
hzero-parent
,需修改版本号为0.11.0.RELEASE
;如果是自建的 parent 项目,需将其中的 hzero 服务/组件的版本号修改为0.11.0.RELEASE
<parent> <groupId>org.hzero</groupId> <artifactId>hzero-parent</artifactId> <version>0.11.0.RELEASE</version> </parent>
-
修改依赖的服务版本号
<!-- SAAS 版本 --> <dependency> <groupId>org.hzero</groupId> <artifactId>hzero-xxx-saas</artifactId> <version>0.11.0.RELEASE</version> </dependency> <!-- OP 版本 --> <dependency> <groupId>org.hzero</groupId> <artifactId>hzero-xxx</artifactId> <version>0.11.0.RELEASE</version> </dependency>
-
将服务 jar 包中的配置
application.yml
、bootstrap.yml
拷贝出来覆盖src/main/resources
目录下的配置文件,再更新自己特定的配置
表结构升级
-
从 gitlab 上下载
0.11.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 0.11.0.RELEASE
-
请先备份每个库的表结构及数据,便于出问题之后恢复
-
修改
database-init.sh
脚本- 修改 service,指定更新目录,与 groovy 下的目录对应即可
- 修改 数据库 url、username、password
service=hzero_platform schema=$service dir=groovy/$service java -Dspring.datasource.url="jdbc:mysql://db.hzero.org:3306/$schema?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ -Dspring.datasource.username=root \ -Dspring.datasource.password=root \ -Ddata.drop=false \ -Ddata.init=true \ -Ddata.dir=$dir \ -Ddata.update.exclusion=iam_role \ -jar tool-jar/choerodon-tool-liquibase.jar
-
依次更改每个目录,执行此脚本,升级表结构
数据升级
-
在 表结构更新 的基础上,同样修改
database-init.sh
脚本- 修改 service,指定更新目录,与
init-data
下的目录对应即可 - 修改 数据库 url、username、password
- dir 改成
init-data/$service
- 修改
-Ddata.update.exclusion
指定要排除的表或表字段
service=hzero_platform schema=$service dir=init-data/$service java -Dspring.datasource.url="jdbc:mysql://db.hzero.org:3306/$schema?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ -Dspring.datasource.username=root \ -Dspring.datasource.password=root \ -Ddata.drop=false \ -Ddata.init=true \ -Ddata.dir=$dir \ -Ddata.update.exclusion=iam_role,iam_user, \ -jar tool-jar/choerodon-tool-liquibase.jar
- 修改 service,指定更新目录,与
-
注意:更新 hzero-iam 服务的数据时,确定项目是 OP 版本还是 SaaS 版本,目录需指定到具体版本的目录下更新
-
注意:hzero-iam 的数据(菜单、权限等)按服务划分,可按需升级数据
-
注意:如果是第一次部署 HZERO,可直接执行脚本更新初始化数据,如果是0.10.0升级至0.11.0,需排除部分表的更新,否则会更新已有数据
hzero_platform
-Ddata.update.exclusion=iam_role,fd_organization,iam_user,hiam_user_info,iam_member_role,oauth_client,oauth_ldap,oauth_password_policy,hpfm_permission_range,hpfm_permission_rule,hpfm_permission_rel,hpfm_config,hpfm_code_rule,hpfm_code_rule,hpfm_code_rule_detail,hpfm_static_text,hpfm_static_text_value,hpfm_tenant,hpfm_group
hzero-message
- 消息模板有新增消息模板,如果直接通过 excel 更新数据,可能会更新已存在的数据,所以需先备份好数据之后再更新,便于恢复。
-Ddata.update.exclusion=hmsg_email_server,hmsg_email_property,hmsg_sms_server,hmsg_receive_config,hmsg_receiver_type,hmsg_message_template.template_content,hmsg_message_template.external_code
hzero_governance、hzero_message
需要更新
hzero-file、hzero-import、hzero_scheduler、hzero_workflow
无需更新
-
依次更改每个目录,执行此脚本,升级数据
数据处理
-
清除
hzero_platform.iam_menu
表的h_level_path
路径数据,再调用接口重新刷新路径清除 level_path
update hzero_platform.iam_menu set h_level_path = null;
调用 hzero-iam 服务如下接口,初始化 h_level_path
-
调用 hzero-iam 服务的如下接口,将权限集分配到超级管理员上