问题:员工问静态检查未触发执行的原因。

回答:

静态检查未触发执行可能源于多种原因,包括代码仓库配置、伏羲配置、流水线配置、代码服务配置等。

情况一:MR 时触发的检查项比模板里的少

  • codedex/SAI 仅支持 P 类和 R 类流水线中扫描,不支持在 C 类流水线中扫描,也不支持代码仓 MR、代码服务创建代码 review 触发。
  • codedex_go 支持在 C 流水线中扫描,并支持代码仓 MR、代码服务创建代码 review 触发。
  • codedex/SAI 不支持在独立构建页面的静态检查扫描。
  • codedex/SAI 不支持在代码服务创建代码 review 操作触发静态检查。
  • fossbot 新增 MR 触发功能,需要模板开启此功能。
  • codecheck 检查项需要保存模板做任务注册。服务树 - 组件概览 - 静态检查模板 - 编辑 - 保存。

情况二:代码库提交 MR 没有触发静态检查

  • 检查 codehub 代码库的 pipeline(流水线)页面是否有门禁 fuxici 触发记录,显示有记录,说明已经触发门禁。但是 MR 合入页面还是不显示门禁信息,可联系代码库运维。
  • 检查伏羲配置的模板,代码库一次 commit 只能触发一个模板,触发顺序为:分支模板 > 模糊分支模板 > 仓库级模板。
    • 检查是否配置了分支模板或模糊分支模板或仓库级模板。
    • 确保静态检查模板生效,要选择生效是,代码库触发的门禁模板要选择生效的模板(流水线生效状态不影响流水线触发静态检查任务)。
    • 配置模板中只配置了 codedex/SAI,代码库会显示 pending 状态,不会触发。
  • 检查代码库配置,不同代码库配置有所不同:
    • 伏羲公共账号是否还在成员列表 pFuXiCodeServ, codehub 仓库使用 pub_FuXiCodeServ;
    • fuxici 的 webhook 是否配置了;
  • 检查 codehub 端合并请求配置,是否配置了合并请求构建成功才能合入,并配置了特定分支(不配置默认代码库全部生效)。

情况三:代码服务提交变更未触发门禁代码变更、code review 触发原理与代码库触发一致

  • 检查伏羲配置的模板,代码库一次 commit 只能触发一个模板,触发顺序为:分支模板 > 模糊分支模板 > 仓库级模板。
    • 检查是否配置了分支模板或模糊分支模板或仓库级模板。
    • 确保静态检查模板生效,要选择生效是,代码库触发的门禁模板要选择生效的模板(流水线生效状态不影响流水线触发静态检查任务)。
    • 配置模板中只配置了 codedex/SAI,代码库会显示 pending 状态,不会触发。
  • 检视分支未新增过代码的也不会触发静态检查扫描。
  • 检查代码服务检视配置是否开启了门禁依赖。

情况四:流水线未触发静态检查

  • 部署类型:已有包部署,触发流水线时,静态检查会自动跳过不执行。
  • 代码部署类型的任务未触发,先检查任务配置是否正确。
  • codecheck 检查项需要保存模板做任务注册,fossbot 与 codecheck 需要模板上开启并服务树 - 组件概览 - 静态检查模板 - 编辑 - 保存。

情况五:手动在构建服务静态检查触发的 codedex/SAI 一直是 pending 状态

  • codedex/SAI 仅支持 P 类和 R 类流水线中扫描,不支持在 C 类流水线中扫描,也不支持代码仓 MR、代码服务创建代码 review 触发。
  • codedex_go 支持在 C 流水线中扫描,并支持代码仓 MR、代码服务创建代码 review 触发。
  • codedex/SAI 不支持在独立构建页面的静态检查扫描。
  • codedex/SAI 不支持在代码服务创建代码 review 操作触发静态检查。
  • codecheck 检查项需要保存模板做任务注册,fossbot 与 codecheck 需要模板上开启并服务树 - 组件概览 - 静态检查模板 - 编辑 - 保存。

解决方式:不支持构建服务单独触发,门禁模板去掉该检查项,或者新增其他常规检查项或者更换仓库级模板(或分支模板)。

静态检查未触发执行原因分析及解决方案

原文地址: https://www.cveoy.top/t/topic/mDbX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录