本文基于模型和应用支持多分支的前提,为您介绍如何进行代码扫描和模型合并。
背景信息
在使用BizWorks做设计开发的过程中,可能在生成了脚手架做开发时,却发现需要修改模型的情况。而此时已经生成了代码,如果再返回去修改模型、重新生成脚手架,会打断研发人员的工作流程,降低工作效率。因此,平台要提供元数据和代码双向同步的能力,研发人员可以在开发过程中使用特定的注解新增、修改或删除模型元数据,开发完成后再上报到平台和平台上的元数据做合并,形成最终确定的元数据。
已发布的应用不支持代码扫描、模型差异查看和模型合并功能。
扫描代码
登录BizWorks,在选择平台下拉列表中选中微服务开发平台。
单击页面右上角图标或其文本框区域,在下拉列表中单击目标项目名称后,单击应用页签。在应用列表页面单击目标中心应用名称。
在目标中心应用左侧导航栏中,选择 。
在代码扫描与合并页面,单击扫描代码分支。
在扫描代码分支对话框中,选择目标代码分支,填写备注(可选填),单击开始扫描。
扫描成功:分支状态将更新为扫描成功,您可以查看差异或合并。
扫描失败:分支状态将更新为扫描失败,您可以单击状态右侧的详情查看失败原因。当前版本支持以下校验:
代码不能使用平台中不存在的限界上下文。
代码中不能包含不支持的数据类型。
查看模型差异
状态为扫描成功的分支可以查看模型差异,进行元数据级的可视化的差异对比,便于用户判断代码模型和元数据模型之间的差异。
您可通过如下两种方式进入查看模型差异页面:
单击目标分支右侧操作列下的查看差异。
单击目标分支右侧操作列下的合并,然后在合并模型面板单击查看差异。
在查看差异页面,您可以查看代码模型和元数据模型之间的数据差异详情。
说明如果被继承的父对象有结构对象注解,父对象会作为结构对象被扫描上报,且子对象会继承父对象。
页面左侧为代码模型,右侧为元数据模型。
模型数据按照限界上下文维度列出。
数据的显示顺序按照元数据模型中的创建时间倒序显示。
默认所有的模型显示折叠状态。您可单击全部展开或图标展开节点,拖动滚动条查看完整数据。
模型数据按照层级可分为如下三类:
层级类型
说明
数据是否可变
根节点
根节点没有父节点,有子节点。只有限界上下文编码是根节点,只要出现了根节点,就表示该应用实现了某些限界上下文,可以展开查看具体内容。
否
中间节点
中间节点是其他中间节点或根节点的子节点,也可以是其他中间节点或叶子节点的父节点,中间节点可以展开,只是某些情况下中间节点展开后可能没有子节点。
否
叶子节点
叶子节点是根节点或中间节点的子节点,叶子节点不能展开并且没有子节点,其本身一定包含了某个数据,比如“名称”、“描述”等。
是
根据是否包含实际数据,节点可分为如下两种类型:
节点类型
说明
数据是否可变
分组节点
分组节点本身不包含具体数据。分组节点是固定存在的,不管其下面有没有子节点,比如限界上下文下面的“领域对象”、“领域服务”等,是纯文字的描述,用于区分其子节点所包含的内容。
否
数据节点
数据节点本身包含数据,比如“限界上下文编码”、“结构对象编码”等,其本身就是编码数据,展开后可以看到相关的属性或子节点。
是
您可将鼠标悬浮在节点旁边的图标上,在悬浮框中查看变更类型。
图标
含义
已发布的限界上下文在代码中被修改。
新增数据。如果父节点是新增,则其所有的子节点都是新增。
更新数据。
对于叶子节点,只有当前数据被更新才显示为更新。
对于可展开的根节点或中间节点,只要子节点发生了新增、更新或删除等操作,都显示为更新。
删除数据。如果父节点是删除,则其所有的子节点都是删除。
合并模型
状态为扫描成功的分支可以继续进行模型合并。
单击目标分支右侧操作列下的合并。
在合并模型面板中,阅读合并说明,单击左下角开始合并。
在二次确认对话框中,单击开始合并。
重要合并后将以代码中数据为准,覆盖到建模平台。
您可以在代码扫描与合并页面查看合并状态。单击分支名称,可以查看该分支的最新扫描合并详情,以及历史扫描合并记录。