Coverity中文网站 > 新手入门 > Coverity怎么管理分析流 Coverity不同分析流之间如何进行数据隔离
教程中心分类
Coverity怎么管理分析流 Coverity不同分析流之间如何进行数据隔离
发布时间:2026/10/16 11:57:35

  主干和维护分支分成了两个分析流,修改缺陷分类后,另一边的分类却一起变化。分析结果、分诊记录和访问权限由不同设置管理,单独建流不能把它们全部隔开。围绕“Coverity怎么管理分析流Coverity不同分析流之间如何进行数据隔离”,下面介绍配置入口和检查方法。

  一、Coverity怎么管理分析流

 

  项目用于组织分析流,分析流接收结果,每次成功提交会生成快照。名称应能区分产品、分支或构建目标。

 

  1、创建项目和分析流

 

  项目与代码仓库不是自动对应的。分析流也不会因为名称写了分支名,就自动拉取该分支代码。

 

  ①点击【Configuration】→【Projects&Streams】,点击【+Project】,填写名称和说明,点击【Create】。

 

  ②选中项目,点击【+Stream】,填写分析流名称,核对大小写。

 

  ③选择语言及【Triage Store】;混合语言项目可按需要选择【Any】,点击【Create】。

 

  ④在项目和分析流的【Roles】中核对成员角色,点击【Done】保存。

 

  2、让流水线提交到正确的流

 

  流名正确,但构建目录或检出的代码不对,结果仍会混入其他分支的内容。

 

  ①打开持续集成任务,核对代码仓库、分支及实际检出的提交版本。

 

  ②检查cov-commit-defects的--stream参数,明确指定目标流;同时核对--dir对应的分析中间目录。

 

  ③为不同任务分配独立工作目录和中间目录,避免并行任务互相覆盖,再运行一次分析和提交。

 

  3、检查快照和停用旧流

 

  快照能帮助确认某次结果来自哪次构建。旧流标记为过期后仍可接收提交,因此停用操作还需要处理流水线。

 

  ①在【Projects&Streams】中选择分析流,打开【Snapshots】,选中快照,点击【Details】。

 

  ②核对提交时间、提交账号、版本及构建和分析信息。

 

  ③不再参与日常统计时,编辑流并勾选【Outdated】;同时停用对应提交任务,按保留要求处理历史数据。

 

  二、Coverity不同分析流之间如何进行数据隔离

 

  结果分流、分诊独立和访问限制,需要分别设置。页面筛选不能代替权限控制。

 

  1、用独立分析流接收结果

 

  不同分支或产品需要独立保留快照时,应创建不同分析流。快照中的版本说明只是描述信息,不能替代目标流设置。

 

  ①为需要分开的代码建立独立分析流,记录分支、流名及提交任务的对应关系。

 

  ②核对各任务的--stream和--dir,提交后分别查看两边【Snapshots】,确认没有进入错误位置。

  2、用不同分诊存储隔开处理记录

 

  共用同一分诊存储时,两个流中相同CID的分类、处理意见等记录会共享,即使它们属于不同项目。需要各自处理时,应使用不同存储。

 

  ①点击【Configuration】→【Triage Stores】,点击【Add】,创建独立的分诊存储。

 

  ②回到【Projects&Streams】,选中目标流,点击【Edit】,将【Triage Store】改为对应存储并保存。

 

  ③在分诊存储的【Roles】中配置相关成员;修改缺陷时,检查操作所选的存储范围,避免同时更新多处。

 

  3、按人员和服务账号配置权限

 

  普通用户可能通过默认用户组获得全局权限,只给某个流添加团队成员,并不保证其他人就无法访问。直接分配给用户的角色,也要一起检查。

 

  ①点击【Configuration】→【Users&Groups】,检查用户所属组、全局角色及直接授予用户的角色。

 

  ②在【Projects&Streams】中选中项目或流,打开【Roles】,通过【Add】添加团队用户组,再点击【Edit】选择角色。

 

  ③按职责区分【View issues】、【View source】、【Triage issues】及【Commit to stream】,同时核对分诊存储和组件相关权限。

 

  ④提交流水线使用独立服务账号,在目标流授予所需权限,移除不必要的广泛授权后保存。

 

  4、检查是否只建立了流链接

 

  同一个流可以关联多个项目,其中的流链接仍指向原流。把它放进另一个项目,不会复制快照,也不会产生独立分诊记录。

 

  ①检查项目中的对象是独立分析流还是已有流的链接,核对它的主项目。

 

  ②需要独立结果时,新建分析流并修改提交目标;需要独立分诊时,再关联不同的分诊存储。

 

  三、Coverity隔离设置完成后怎么验证

 

  管理员账号能访问多个范围,不能代替普通成员验证。已有分析流更换分诊存储时,历史处理记录的呈现也需要单独确认。

 

  1、用普通账号检查访问范围

 

  项目没有显示在列表中,还不足以说明其他入口都已受限,缺陷、源码和提交权限都需要验证。

 

  ①使用团队普通账号登录,检查授权流中的缺陷及源码是否能按职责查看。

 

  ②测试未授权流的直接访问和接口访问;再用服务账号在测试环境检查越权提交是否被拒绝。

 

  ③发现权限超出预期时,回查全局、项目、流、用户组和用户直接角色,调整后重新登录验证。

 

  2、更换分诊存储前保留记录

 

  切换存储不会自动带走原存储的分诊数据。新建空存储后,缺陷可能显示默认分类,这与缺陷本身消失是两回事。

 

  ①修改关联前,在【Triage Stores】选中原存储,通过【Export】保存分诊记录,并记录原关联关系。

 

  ②需要继承已有处理记录时,评估分诊存储分支或导入方案;先在测试流验证分类、负责人及历史,再调整正式流。

  总结

 

  希望这篇关于“Coverity怎么管理分析流Coverity不同分析流之间如何进行数据隔离”的内容能帮到大家。软件质量工作涉及不同团队和版本,清楚的数据归属能减少沟通中的误解,也让责任分工更容易落实。管理方式与业务配合得当,团队就能把更多时间用于判断和解决问题。工具使用中的这些经验需要逐步积累,适合当前项目的安排,也应随着协作方式的变化继续完善。希望大家学有所用,让质量管理更有条理。如果有Coverity软件选型、部署配置等方面的需求,欢迎联系我们咨询。

176 5129 0128