测试环境与生产环境数据迁移、版本升级
在项目实施过程中,往往需要在测试环境完成大部分工作后才迁移到生产环境再进一步上线调试。当然也有版本升级的需求。
该过程涉及的数据包括DataViz支撑库数据、dataviz-file下的文件资源。
我们推荐使用项目导入导出功能迁移项目或升级,当然也有部分项目因为做了一些定制开发,需要环境整体迁移。
本文介绍这两种方式具体步骤,及注意点。
1 项目导出导入方式
使用项目导入功能的前提是,生产环境与测试环境版本一致或生产环境版本高于测试环境。
1.1 我的项目迁移
制作好的项目可以完整导出为zip包(内含项目依赖的文件资源及支撑库数据),适用于项目在不同系统间迁移。对于文本数据源的项目,导入新系统后可直接使用,对于数据库类型数据源的项目需要同时迁移数据库,并在导入新系统后需要调整数据源配置。 我的项目界面右上角,导入导出按键如下图
导出的时候,先点击导出按钮然后选中需导出项目(可多选),页面下方点击“确认”后所有选中项目会整体以一个zip包下载到浏览器下载路径内。 导入的时候,点击导入按钮然后选中已准备好的zip包,确认即可。
1.2 公共项目迁移
公共项目的导入操作与“我的项目”导入相同。 公共项目的导出需要拥有管理员权限,如下图。
【注意】 迁移后,项目所属用户将由源环境用户迁移到目标环境执行导入的用户。
2 环境整体迁移方式
项目整体迁移,就需要做如下工作
- 迁移支撑库数据
- 拷贝文件资源路径
- 拷贝DataViz部署包
- 修改配置文件
整个过程类似环境部署。
2.1 迁移支撑库
根据支撑库类型选择迁移工具,将数据迁移到目标支撑库。
支撑库地址配置文件随之变更。
dataviz-service/WEB-INF/conf/datasource.properties
2.2 拷贝文件资源
整体拷贝测试环境如下配置项对应的路径到生产环境。
dataviz-service/WEB-INF/conf/internalConfig.properties
配置项
internal.customLocalFileStoreRoot=**/opt/dataviz-file**
该配置项随之变更。
2.3 拷贝部署包
dataviz-web 和 dataviz-service 两个文件夹拷贝到生产环境。
2.4 检查配置文件
环境整体迁移后,会发生变化的是服务器IP地址、文件系统路径、支撑库地址。
需检查如下配置项:
a) dataviz-web/common/config.js
第一行配置项中的IP及端口根据实际情况修改。
window.charts_server = “http://IP:PORT/dataviz-service”
b) dataviz-service/WEB-INF/conf/datasource.properties
2.1中提到的支撑库地址。
c) dataviz-service/WEB-INF/conf/internalConfig.properties
2.2中提到的文件资源路径,配置项
internal.customLocalFileStoreRoot=**/opt/dataviz-file**
然后再把相同文件下的文件资源服务地址
internal.fileServerURL=http://127.0.0.1:8080/dataviz-service/service
修改为生产环境的地址:
internal.fileServerURL=http://IP:PORT/dataviz-service/service
再将该文件下与任务调度相关的
internal.filePdfExportURL=http://127.0.0.1:8080/dataviz-web/src/export.html
修改为生产环境的地址:
internal.filePdfExportURL=http://IP:PORT/dataviz-web/src/export.html
再将该文件下的PDF导出配置项
internal.pdfCookiesSet=[{"name":"JSESSIONID","domain":"localhost","path":"/dataviz-service"}]
修改为生产环境的地址:
internal.pdfCookiesSet=[{"name":"JSESSIONID","domain":"IP","path":"/dataviz-service"}]
e) dataviz-service/WEB-INF/web.xml
修改文件中的防火墙和跨域拦截正则表达式为生产环境地址。如果原始值为“.*” 对所有请求都不进行拦截,酌情可不修改。
(此配置项用于在公网环境防护系统免于恶意攻击)
<init-param>
<param-name>otherReferrer</param-name>
<param-value>.*</param-value>
</init-param>
修改为:
<init-param>
<param-name>otherReferrer</param-name>
<param-value>^http://10\.4\.45\.236:\d+/.*$</param-value>
</init-param>
再把
<init-param>
<param-name>otherOrigin</param-name>
<param-value>.*</param-value>
</init-param>
修改为:
<init-param>
<param-name>otherOrigin</param-name>
<param-value>^http://10\.4\.45\.236$</param-value>
</init-param>
至此,完成环境迁移。
3 应用数据内容一键导出
使用项目导入功能的前提是,生产环境与测试环境版本一致或生产环境版本高于测试环境。
此种方式会导出DataViz系统部署以来生成的所有数据,包括图片、excel、项目、用户、组织、角色等等。
管理员(默认是admin)登录后,进入系统设置->系统管理,点击“应用数据内容一键导出”即可下载一个zip文件,此文件到目标系统导入即可完成迁移。