结构设计与发布
结构设计与发布功能可以实现多环境研发流程管理,在各个环境中顺利推进研发进度,确保在代码发布到生产环境之前完成所有必要的验证、变更和审批。
功能介绍
在企业的研发流程中,通常存在多个阶段逐步推进的情形。一般来说,至少会有开发测试环境和生产环境这两个关键环节。出于对生产环境安全性的考虑,只有经过在开发测试环境执行并成功验证的 SQL 脚本才能被允许发布到生产环境。另一方面,开发测试阶段可能经历多轮修改,为了确保变更的完整性,必须确保所有变更都按顺序应用到生产环境中,否则可能导致遗漏变更而引发应用发版失败等问题。
结构设计与发布功能可以将开发测试环境中所有开发人员针对基准数据源的各项变更任务整合为一个 SQL 脚本,并记录它们的执行顺序和依赖关系。在对非基准数据源提交变更时,管理员可以要求只允许基于 SQL 脚本执行,从而防止因失误或遗漏导致的变更错误。
通过结构设计与发布功能,项目管理员可以清晰地了解整个流程的执行情况和进度。所有开发人员也可以随时查看每个任务的执行状态,方便发现和解决问题,确保流程的顺利推进。
步骤一:配置结构设计与发布流程
DBSC 内置默认的流程配置,具有发布到开发环境和发布到生产环境两个节点,允许研发成员跳过当前节点、允许对上个节点执行过的 SQL 进行编辑、并允许回退到上一个节点。
您可以根据实际业务需求,编辑默认的结构设计与发布流程,或基于该流程创建一个新的结构设计与发布流程。本文以新增结构设计与发布流程为例,介绍配置方法。
- 登录 DBSC 控制台。
- 在左侧导航栏,点击 数据开发—>规范与流程。
-
单击结构设计与发布流程配置页签,然后单击右上角的创建流程,打开创建流程窗口,根据下表配置完成后,单击确定。
参数 说明 复制结构设计与发布流程 选择已有的结构设计与发布流程,基于该流程创建一个新的流程。如果您使用的是类似创建方式,则此处已自动填充好。 结构设计与发布流程名称 输入结构设计与发布流程的名称,最多 32 个字符。 描述 输入该结构设计与发布流程的描述信息。 - 单击刚创建的流程名称,或单击流程名称右侧操作列下的详情,打开结构设计与发布流程详情页。
- 由于当前流程是从另一个流程复制的,而首节点对应的数据源必须全局唯一,因此第一步必须要先修改序号为 1 的节点对应的数据源,否则无法编辑其他内容。单击该节点右侧操作列的编辑,修改数据源参数,然后单击确定。
-
单击页面右侧的添加节点,可以为流程添加节点。例如,在默认的发布到开发环境和发布到生产环境中,增加一个测试环境节点。根据下表进行配置,然后单击确定。
参数 说明 节点名称 输入需要添加的节点名称。例如:测试环境。 数据源 选择该节点对应可变更的数据源,支持按环境或按数据源进行添加。需要注意,无法重复添加与首节点相同的数据源或环境。 - 按环境:所属该环境的所有数据源均可成为该节点的变更对象。
- 按数据源:可选择目标数据源对应的目标库(Schema),精准管控该节点可变更的数据源。您可以单击添加数据源添加多个数据源。
节点配置 - 支持回退:是否允许从当前节点回退至上一个节点。
- 修改变更 SQL:在规范流程中对非基准库进行 SQL 变更时,是否允许用户编辑 SQL 脚本。
- 支持跳过:是否允许在不执行任何变更的前提下,跳过当前节点,直接推进到下一个节点。
-
创建完节点后,您可以在页面上对节点进行排序、编辑、删除等操作。
- 排序:将鼠标悬浮于目标节点所在行,然后单击序号左侧的图标,即可将节点的位置往上调。
- 编辑:单击目标节点右侧操作列的编辑,可以编辑节点的详情。
- 删除:单击目标节点右侧操作列的删除,可以删除该节点- - 。
说明
在结构设计与发布流程详情页面,您无需进入各个节点的编辑页面就可以使用快捷开关快速编辑各个节点的配置(支持回退、修改变更 SQL、支持跳过)。
- 回到结构设计与发布流程配置页面,开启目标流程状态列下的开关,即可激活该流程。
步骤二:创建结构设计与发布
- 登录 DBSC 控制台。
- 在左侧导航栏,点击 数据开发—>结构设计与发布。
- 单击页面右侧的创建结构设计与发布。
-
在创建结构设计与发布页面,根据下表进行配置,然后单击创建结构设计与发布。
参数 说明 流程名称 输入流程名称,为减少沟通成本,请尽量使用有意义的名称。最多支持 64 个字符。 基准数据源 结构设计与发布流程的基准数据源,所有变更将围绕该数据源进行,所有在基准数据源中执行过的 SQL 将被系统自动按照执行顺序整理成 SQL 脚本。根据流程配置,管理员可以要求针对非基准数据库的变更只能基于该 SQL 脚本,不允许执行其他变更。 数据库 选择一个数据库作为结构设计与发布流程的基准数据库。 执行人 结构设计与发布流程中,变更审批通过后的 SQL 语句执行人。 说明:执行人列表中的可选项取决于如下两种情况: 变更协同人(可选) 选择当前流程中的变更协同人,可多选。被选中的人员可参与当前结构设计与发布流程,共同推动开发工作。 备注(可选) 针对当前结构设计与发布流程未尽事项的说明。 变更 SQL 输入需要执行的变更 SQL 或上传包含变更 SQL 的文件。 - SQL 文本:直接在文本框中输入需要执行的 SQL 语句。
- SQL 文件:单击上传文件,选择并上传包含需执行 SQL 语句的文件。
- 页面自动跳转至当前结构设计与发布流程的任务详情页,DBSC 自动创建了一个针对基准库的 SQL 变更任务,您需要在任务列表中推进该变更任务(提交审批→执行),任务状态变更为执行成功后,才可以继续下列步骤。
步骤三:使用结构设计与发布流程
结构设计与发布流程根据管理员的配置,可以有多个节点,需要逐步推进。以默认情况为例,有发布到开发环境和发布到生产环境两个节点,每个节点下都有任务列表,该流程的所有变更协同人均可以在这里提交 SQL 任务对数据库进行变更。
提交任务
- 登录 DBSC 控制台。
- 在左侧导航栏,点击 数据开发—>结构设计与发布。
- 单击目标流程 ID 或目标流程 ID 右侧操作列下的详情。
-
在任务列表中,单击提交任务,在弹出的窗口中按照下表进行配置,单击确定。
参数 说明 目标数据源 选择需要进行变更的数据源。 目标库 选择需要进行变更的库。 执行人 当前任务在审批通过后的执行人。说明:执行人列表中的可选项取决于如下两种情况: 变更 SQL 来源 目标数据源和目标库中未选择基准数据源时可选。此时需要在下方选择已执行过任务的数据源,下方的代码框中会显示已执行的 SQL 脚本。 变更 SQL 目标数据源和目标库中选择基准数据源时可选。输入需要执行的变更 SQL 或上传包含变更 SQL 的文件。 - SQL 文本:直接在文本框中输入需要执行的 SQL 语句。
- SQL 文件:单击上传文件,选择并上传包含需执行 SQL 语句的文件。
说明
任务提交完成后,该任务的所有子步骤(撤回、审批、执行、暂停、重启等)均和 SQL 任务一致。
推进流程
当前节点中所有任务状态达到终态(即执行成功)后,您可以推进流程到下一个节点。如果管理员在步骤一中开启了支持跳过,则即使当前流程中没有任务,也可以强制推进到下一个流程。
- 登录 DBSC 控制台。
- 在左侧导航栏,点击 数据开发—>结构设计与发布。
- 单击目标流程 ID 或目标流程 ID 右侧操作列下的详情。
- 在任务列表中,单击进入下一节点,并在弹出的确认窗口中再次单击进入下一节点,即可将流程推进到下个节点。如果后面已经没有节点,流程结束。
回退流程
如果管理员在步骤一中开启了支持回退,并且当前节点(非首节点)中没有任务或所有任务已达到终态,则可以将流程回退到上一个节点。
- 登录 DBSC 控制台。
- 在左侧导航栏,点击 数据开发—>结构设计与发布。
- 单击目标流程 ID 或目标流程 ID 右侧操作列下的详情。
- 在任务列表中,单击进入下一节点右侧的> 回退上一节点,并在弹出的确认窗口中再次单击回退上一节点,即可将流程回退到上个节点。
可选步骤:终止结构设计与发布流程
结构设计与发布流程在执行过程中,管理员无法为该流程调整节点相关的配置,例如添加节点、调整节点顺序、重命名节点、删除节点等操作。因此,如果需要调整这些配置,则需要先终止该流程。
- 登录 DBSC 控制台。
- 在左侧导航栏,点击 数据开发—>结构设计与发布。
- 单击目标流程 ID 或目标流程 ID 右侧操作列下的详情。
- 在任务列表中,单击页面右上角的终止,然后在弹出的确认窗口中,再次单击终止即可。