代码评审

代码评审旨在通过人工干预优化生产代码,以提升生产调度任务的代码质量,确保生产环境中的代码符合规范。您可以根据业务管理要求,决定是否在任务发布至生产环境之前强制进行人工代码评审。一旦开启强制代码评审,只有通过评审的任务才能发布至生产环境。

功能介绍

DataWorks中,为了避免因代码不合规导致任务失败,从而长时间占用资源造成计算资源的浪费,可以开启强制代码评审。开启后,评审人员需对任务的代码质量进行严格把控,以防止因任务代码错误而造成未经审核通过的代码无法发布上线。

  • 未开启强制代码评审:提交节点时,可手动发起评审,无论评审通过与否,均可正常发布。

  • 开启强制代码评审:提交节点时,选择具有评审资格的人员进行代码评审,把控代码质量。

    • 当评审通过后,节点继续提交发布。

    • 当评审未通过时,节点无法被提交发布,您需根据评审意见先进行修改,再次发起评审,直至评审通过后才可继续提交发布节点。

image

使用限制

  • DataWorks专业版及以上版本支持使用代码评审,确保已开通DataWorks专业版及以上版本,版本详情可参见DataWorks各版本详解

  • 主账号空间管理员以及拥有AliyunDataWorksFullAccess权限的RAM用户才可管理工作空间是否启用代码评审。详情请参见用户、角色与权限概述

  • 特殊类型节点(例如,循环、遍历等组合型节点以及非Python的资源文件)不支持发起代码评审,

(可选)管理者:开启强制代码评审

空间管理员可以参考下文在Data Studio设置页面为工作空间开启强制代码评审。

说明
  • 未开启强制代码评审的情况下,您也可发起评审,但不会阻塞发布流程。

  • 若执行的是删除节点操作,则提交该节点时不会触发代码评审。

进入安全设置与其他页面

  1. 进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > Data Studio,进入Data Studio。

  2. 进入Data Studio设置页面。

    1. 单击左下角image按钮,选择Data Studio设置,打开Data Studio设置页面。

    2. 进入安全设置与其他。

      Data Studio设置页面,切换页签至安全设置与其他页签。

开启代码评审

安全设置与其他页签下,开启代码评审 > 强制评审

参数

描述

强制评审

用于控制当前工作空间任务发布生产环境前是否必须进行代码评审。

项目代码评审人

用户定义空间下节点代码由谁审批。

  • 任意开发角色用户:节点发起代码评审后,可选择空间下任意开发角色的用户评审代码。具体由谁评审代码,取决于节点发布人在发布时的选择。

  • 指定开发角色用户:节点发起代码评审后,必须由指定开发角色的用户评审通过后才可提交发布。

说明
  • 仅支持选择当前工作空间下具有开发角色权限的用户作为评审人员。

  • DataWorks支持配置一个或多个代码评审人。当配置多个评审人时,一人通过评审即可。

指定强制代码评审基线范围

用于配置哪些节点在提交时需要进行代码评审。

您可根据节点所在基线的优先级确定需要强制进行代码评审的节点,逻辑说明如下:

  • 设置基线评审范围为非基线任务时,当前工作空间中新建的任务需要审批。

  • 设置基线评审范围为对应级别的基线任务时,当前工作空间中该级别基线上的节点提交时需要审批。

  • 基线任务的数值越大优先级越高,基线任务的优先级高于非基线任务。

说明

选择非基线任务时,意味着工作空间新建节点需要审批。

钉钉群机器人webhook

填写钉钉群自定义机器人Webhook后,可以在群内收到由自定义机器人发出的代码评审状态变更消息。您可参考文档配置自定义机器人

说明

钉钉群机器人安全配置仅支持配置关键字,并且关键字需要包含DataWorks

钉钉群代码评审是否@所有人

开启后,代码评审状态每次变更均会在钉钉群内@所有人

评审发起人:发起代码评审

提交节点时将触发代码评审,选择评审人员后将生成评审单。若管理者开启了强制代码评审,发布流程在生产检查器阶段进行阻塞,只有代码评审通过后,才能将节点发布至生产环境。

说明
  • 当节点已存在正在进行的代码评审,发起新的评审后,旧评审流程的结果将自动作废。

  • 若执行的是删除节点操作,则不会触发代码评审。

  1. 发布任务。

    1. 单击image保存需要发布的数据开发节点,再单击image按钮打开任务发布页面。

    2. 单击开始发布生产按钮,进行发布,由于开启了强制代码评审,所以发布流程在生产检查器阶段进行阻塞,只有代码评审通过后,才能发布。

  2. 发起代码评审。

    单击发起代码评审按钮,打开代码评审配置页面,配置代码评审人与变更描述。

    配置项

    代码评审人

    代码评审人

    选择该控件下配置的项目代码评审人,可指定一个或多个代码评审人员。

    变更描述

    描述代码变更信息等内容。

    配置完成后,单击确认,提交代码评审。

评审处理人:处理评审单

代码评审处理人可在代码评审列表 > 我评审的菜单下查看名下待评审记录,并处置评审单。

  1. 进入代码评审页面。

    单击数据开发(Data Studio)页面左侧导航栏上的image按钮进入代码评审页面,即可查看我评审的代码审批单。

  2. 处置代码评审单。

    代码评审列表 > 我的评审页面,支持对目标评审单执行快速评审操作,也可点击评审列表中的节点名,进入代码评审详情页,查看本次评审代码相较于生产线上版本的变化,以及调度配置的变更后,再决定是否通过本次代码评审。支持的评审操作如下:

    • 代码评审页面可快速对评审单进行通过拒绝废弃重开以及分享操作。

    • 代码评审详情页面进行评审。

      • 在码评审列表页面单击需要评审的代码评审单,进入代码评审详情页面,在代码详情页面可以查看需要评审的代码文件的详情信息、进行代码变更的对比以及进行代码评审单的评审操作。

      • 评审处理人在评审操作模块,可对评审单进行以下评审操作

        • image:通过。

        • image:拒绝。

        • image:废弃。

        • image:重开。

        • 评论

    说明
    • 废弃:废弃当前评审流程。废弃后,当前节点版本可继续提交发布。

    • 重开:若您需要对已废弃的评审流程重新评审,则可执行重开

    完成代码评审后,评审发起人即可在代码评审列表页面查看评审详情以及操作评审单。

评审发起人:查看评审结果

代码评审处理人可在代码评审列表 > 我创建的菜单下查看名下待评审记录,并处置评审单。

  1. 进入代码评审页面。

    单击数据开发(Data Studio)页面左侧导航栏上的image按钮进入代码评审页面,即可查看我创建的代码审批单。

  2. 确认评审结果。

    代码评审列表 > 我创建的页面,支持对创建的评审单执行快速操作,也可点击评审列表中的节点名,进入代码评审详情页,查看本次评审代码相较于生产线上版本的变化,以及调度配置的变更后,是否重开废弃本次代码评审。支持的评审操作如下:

    • 评审发起人在代码评审页面可快速查看评审单结果,以及进行废弃重开分享操作。

    • 代码评审详情页面查看评审结果。

      • 在码评审列表页面单击需要查看结果的代码评审单,进入代码评审详情页面,在代码详情页面可以查看需要评审的代码文件的详情信息进行代码变更的对比以及对代码评审单进行操作

      • 评审发起人在评审操作模块,可对评审单进行废弃重开操作。

    说明

    代码评审通过后,即可继续进行发布流程。若代码评审未通过,可通过重开重新进行代码评审。

后续步骤

代码评审通过后,即可继续对发布的任务进行发布到生产环境的确认,若代码评审未通过,可根据评审评论进行代码调整后重新发起代码评审,或重开此代码评审单继续评审。