# 同步测试环境与生产环境
通常项目开发中会涉及到多个环境,一般至少有两个环境:测试环境、生产环境,测试环境用于开发新功能,然后周期性将测试环境开发的功能发布至生产环境,这就涉及到多个环境间元数据的同步与迁移,常用的方案有以下三种:
- 迁移数据库表:可用数据库工具或者SuccBI的备份恢复,好处是批量文件恢复快,缺点是会全部覆盖。适用于环境初始迁移或很久未用环境的同步。
- 导入导出:使用SuccBI的元数据导入导出功能,好处是只同步需要的文件,操作简便,缺点也是会覆盖,无法比对差异,再者对于需要同步的文件若分布很零散,操作不便。适用于集中式新增功能模块迁移。
- SuccIDE同步:使用SuccIDE的同步功能,好处是可查看文件的差异,可选择需要的文件进行同步,缺点是依赖于vscode的使用,有一定难度,另外差异若是太多,同步比较耗时会很长。适用于定期同步升级的场景。
本文将重点介绍如何使用SuccIDE进行同步,下图是一个从开发(测试)环境到生产环境同步的总体流程:
# 同步前准备
- 安装好SuccIDE,详见SuccIDE安装
- 准备好测试环境和开发环境,确保安装SuccIDE的电脑能通过互联网或者VPN等途径正常访问
- 使用SuccIDE初始化好一个开发环境,详见SuccIDE界面和配置介绍中的
初始化界面
介绍
# 开始同步
- 连接测试环境生产环境: 只有首次使用需要该步骤,配置服务器相应地址账号,后续再启动只用切换服务器即可,详情见SuccIDE界面和配置介绍的
SuccBI Servers——服务
部分 - 切换至测试环境并下载文件: 打开
服务
视图,点击顶部工具栏切换
图标,切换至测试环境(可通过根节点上服务器的名称与url,判断当前所连环境),选择需要同步的扩展
、项目
、数据源
点击右侧↓
按钮进行下载(需要几个点击几个),注意:如果之前下载过,本地已存在同名文件,会提示是否进行覆盖 - 切换至生产环境选择同步: 测试环境文件下载完成后,点击顶部工具栏
切换
图标,切换至生产环境 - 同步比较差异并上传文件: 切换到生产环境后,打开
资源
视图,选择第2步下载的文件右键选择与服务器同步,此时同步
视图会出现所有差异,点击文件可进行比较,确定修改无误后点击↑
上传至开发环境(提示:可以选择比较一个上传一个,也可以全部比较确定完成后点击根节点或目录上传按钮批量上传),注意:若第2步下载的扩展
、项目
、数据源
有多个,即需要同步的有多个,需要反复进行第4步;同步过程中尽量不要有其他人在环境上进行修改操作,避免相互覆盖
# 测试验证
同步完成后,必须对生产环境进行至少一轮业务流程测试,以此验证功能迁移是否有误。
# 更多技巧
# 如何同步数据表数据
项目开发过程中通常除了元数据文件,一般还会有一部分数据表数据需要同步,例如维表数据。此时就需要用到SuccIDE的数据源同步功能,其将数据以csv形式进行比较传输(注意:与元数据同步一样,数据同步也是直接覆盖的)。
具体配置在package.json
中的datasources.include
里配置好需要需要同步的数据表(注意:需要在同步前配置,配置好后具体同步步骤同上,请参考同步操作),数组形式,路径规则为:/{数据源名称}/{数据表名称}
,详细参考SuccIDE界面和配置介绍的插件配置
说明,示例如下:
{
//数据源配置文件,用于配置哪些数据表需要下载数据内容
//文件格式:/{数据源名称}/{数据表名称}
"datasources.include": [
"/default/cn_adcode",
"/succbi/countriesgeo",
"/succbidw/country",
"/succbiyw/dw_field_roles"
]
}
# 如何忽略不需要同步的文件
项目开发过程中一个的项目的元数据文件往往非常多,同步时一般没必要比较整个项目,其耗时长、差异多、难比较。此时就需要用到SuccIDE的项目同步忽略功能,例如下述情况:
- 测试文件、临时文件、备份文件、系统内置文件不需要同步
- 开发升级只做了局部改动,不需要同步整个项目,例如:只改了某个app里的文件
具体配置是在package.json
中的projects.exclude
里配置不需要的元数据文件,数组形式,路径规则同元数据路径,详细参考SuccIDE界面和配置介绍的插件配置
说明,示例如下:
{
//同步忽略文件,用于配置忽略不需要同步的文件
//文件格式:元数据路径即可
"projects.exclude": [
"/DEMO/ana",
"/DEMO/data",
"/DEMO/fapp",
"/sysdata/app/default.app",
"/sysdata/settings/themes"
],
}
0条评论
评论