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