文档首页/ 代码检查 CodeArts Check/ 最佳实践/ 使用自定义执行机执行代码检查任务
更新时间:2024-11-14 GMT+08:00
分享

使用自定义执行机执行代码检查任务

应用场景

当CodeArts Check提供的内置执行机不满足业务要求时,您可接入自行提供的执行机,通过注册的方式托管到CodeArts Check服务中,委托CodeArts Check服务进行调度并执行代码检查任务。本实践我们通过检查CodeArts Repo代码仓的代码问题来演示使用自定义执行机执行代码检查任务。

本实践需要依赖使用的其他服务:代码托管服务,用于存储实践中项目所使用的代码。

约束限制

  • 使用自定义执行机功能为受限功能,如需使用,请联系技术支持。
  • 需已具备CodeArts Repo服务的操作权限,具体操作可参考授权使用CodeArts Repo服务

前提准备

  • 已参考自定义购买ECS购买本实践使用的弹性云服务器。

    代码检查服务接入的自定义执行机只支持EulerOS2.5操作系统。

  • 接入的自定义执行机中已安装Git-lfs,若未安装,可参考以下示例安装Git-lfs。本示例以使用命令的方式安装为例。
    在执行机上执行以下命令。
    # 下载
    wget -O  git-lfs.tar.gz https://github.com/git-lfs/git-lfs/releases/download/v3.4.1/git-lfs-linux-amd64-v3.4.1.tar.gz
    # 解压
    tar -zxvf git-lfs.tar.gz
    # 进入解压后的目录
    cd  git-lfs-3.4.1
    # 执行安装脚本
    sh install.sh
    # 验证
    git lfs version
  • 挂载云硬盘

操作流程

表1 操作流程

流程

说明

新建项目

为本实践新建项目。

新建自定义执行机资源池

为本实践新建所需的自定义执行机资源池。

新建CodeArts Repo代码仓

为本实践新建存储代码的代码仓。

配置并执行代码检查任务

配置代码检查任务使用自定义执行机执行检查。

查看代码检查结果

通过查看检查日志可验证本次代码检查任务使用自定义执行机执行。

新建项目

  1. 使用华为云账号登录华为云控制台页面
  2. 单击页面左上角,在服务列表中选择开发与运维 > 软件开发生产线 CodeArts
  3. 单击“立即使用”,进入CodeArts服务首页。
  4. 在首页单击“新建项目”,选用“Scrum”项目模板。
  5. 项目名称填写“check-bestpratice”,其他保持默认即可。
  6. 单击“确定”后,进入到“check-bestpratice”项目下。

新建自定义执行机资源池

  1. 在导航栏中单击用户名,选择“租户设置”
  2. 选择资源池管理 > 资源池
  3. 单击“新建资源池”,在弹出的窗口中参考表2配置参数后,单击“保存”

    表2 资源池配置参数说明

    参数名称

    参数说明

    资源池名称

    资源池的名称,根据需要自定义。例如:custom_pool。

    资源池类型

    选择LINUX_DOCKER。执行任务时将拉起一个Linux docker容器,任务在容器中运行。

    资源池描述

    根据需要输入资源池描述。可不填写。

    资源池可以被租户下所有子用户使用

    勾选后,此资源池可以被当前租户下所有子用户使用。可不勾选。

  4. 单击新建的资源池名称“custom_pool”,进入到资源池配置页面。
  5. 单击“新建代理”,在弹出的窗口中,参考表3配置代理信息,其他参数项保持默认即可。

    表3 新建代理参数说明

    参数

    说明

    是否安装Docker

    勾选此项,配需安装Docker。

    自动安装Docker

    打开开关,自动安装Docker。

    AK

    参考获取AK/SK获取。

    SK

    参考获取AK/SK获取。

    代理名称

    自定义代理名称。例如:agent_test_custom。

    代理工作空间

    填写代理工作空间,需符合标准的linux目录格式。例如:/opt/agent_test_custom。

  6. 勾选协议,依次单击“生成命令”“复制命令”。单击“关闭”

    图1 新建代理

  7. 根据“步骤三”提示,在弹性云服务器列表页,单击前提准备中购买的服务器所在行的“远程登录”按钮,执行6中复制的命令。
  8. 在代理列表页面,单击“刷新列表”,后台自动同步信息后,代理列表中会增加一条代理执行机信息。代理执行机的代理别名为“agent_test_custom-mwlye1NlLG”

    图2 代理执行机

新建CodeArts Repo代码仓

  1. 在导航栏中选择服务 > 代码托管,进入代码托管服务首页。
  2. 单击“新建仓库”,在新建仓库页面“归属项目”选择新建项目中创建的项目名称,“仓库类型”选择“模板仓库”,单击“下一步”
  3. 选择“Java Maven Demo”仓库模板,单击“下一步”
  4. “代码仓库名称”填写为“custom_repo”,勾选自动创建代码检查任务前的复选框,其他参数保持默认即可。单击“确定”,完成代码仓的创建。

    创建完成后的代码仓文件目录如图3所示。

    图3 代码仓文件目录

配置并执行代码检查任务

  1. 在页面导航栏中选择代码 > 代码检查。由于在创建代码仓时,已选择自动创建代码检查任务,因此在代码检查任务列表页,已展示对应的代码检查任务。
  2. 单击任务名称,进入代码检查详情页面,选择设置 > 自定义环境
  3. “执行主机”区域,选择“自定义执行机”
  4. 在下拉框中选择新建自定义执行机资源池中创建的资源池“custom_pool”
  5. 配置完成后,单击“保存”,单击“开始检查”

查看代码检查结果

单击任务名称,进入代码检查详情页面,单击“检查日志”页签。若日志信息中出现“Find available executor node:agent_test_custom-mwlye1NlLG”,表示本次代码检查任务由自定义执行机执行。其中“agent_test_custom-mwlye1NlLG”8中代理执行机的代理别名。

相关文档