阿里巴巴Java规约扫描-云效(对外)版使用文档

简介: # 原理 集团编码规约扫描rdc版本,是基于[阿里巴巴JAVA开发手册](https://yq.aliyun.com/articles/69327?utm_content=m_10088)中需要遵守的规则,转化为实际自动化扫描的规约条目纳入rdc实验室检测范围,完成后将扫描报告上传,最后把解析结果数据展示给用户。目前对外,共包括51条规则的检测。 包括2种方式接入,2种方式对比:测试服

原理

集团编码规约扫描rdc版本,是基于阿里巴巴JAVA开发手册中需要遵守的规则,转化为实际自动化扫描的规约条目纳入rdc实验室检测范围,完成后将扫描报告上传,最后把解析结果数据展示给用户。目前对外,共包括51条规则的检测。

包括2种方式接入,2种方式对比:测试服务接入更简单,适应于只做单种测试类型的扫描;实验室接入稍复杂,适应于作多种测试类型集合。比如同时做单元测试和代码规约扫描,需要把包含2个阶段的.rdcci.yml放代码库根目录,云效-实验室。

云效-测试服务使用步骤

进入云效-测试,选择阿里巴巴JAVA代码规约扫描,填写code.aliyun.com代码库地址,保存,运行即可开始扫描。
ea8d0f53-efe0-4060-9a30-aa4a9c18fb92.png

faaca7bb-da05-417c-9d58-69fb0902d858.png

云效-实验室步骤

1.编写配置文件放代码库

[阿里巴巴编码规约扫描]的.rdcci.yml配置文件示例如下,将其放到code.aliyun.com代码根目录。
另配置文件生成方式,也可参考【构建配置文件】-》【编写帮助】-》表单-》源码 生成配置文件。

pipeline:
  - 阿里巴巴集团编码规约扫描
stage:
  阿里巴巴集团编码规约扫描:
    env:
      cluster: rdc
    plugin:
      -
        param:
          source_root: '${source_root}'
          exec: 'java -cp p3c-pmd.jar net.sourceforge.pmd.PMD '
          pipelineId: '${pipeline_id}'
        name: p3c_rdc
        pos: back
      -
        param:
          url: '${repo}'
          branch: '${branch}'
          path: '${source_root}'
        name: checkout
        pos: front
    exec:
      - 'echo ''start alibaba code scanning~'''

添加示例,如下图
5ca1c8db7c22823e.png

ps: 如果同时做单元测试,有多个阶段的情况,请参考实验室rdc手册

2.新建扫描实验室

新建,如下图填写对应参数,完后即可点新建(运行)实验室
a43a7e97cd6fa840.png

3.实验室详情查看

3.1 运行中

详情页,可取消构建 及 再次运行。
2823a60a792f2df1.png

3.2 运行完成

完成后,会出现扫描结果指标, 点击指标数字即可进入报告详情查看更多。
问题级别说明:目前扫描出的问题共分为三个级别——Blocker、Critical、Major。
且严重程度依次为:Blocker > Critical > Major,因此建议在修复问题时的顺序也是从Blocker级的开始。
316bdd3ee22f30d2.png

3.3 报告详情(带权限验证)

只有对应实验室负责人权限,才能查看扫描报告。
c3bd6bfe6e4e83c7.png
fa2c0f98f92b1ebf.png

4.FAQ

4.1 样例——构建配置错误

出现这个错误,可能情况有2种:
1.说明代码根目录.rdcci.yml不存在,请按[编写配置文件]放代码库。

2.语法不合法,请在【编写帮助】-【源码模式】中进行验证。
6643b8231abef360.png

4.2 扫描报告无法打开

请确认您是否有相应实验室负责人权限。

相关实践学习
流水线运行出错排查难?AI帮您智能排查
本实验将带您体验云效流水线Flow的智能排查能力,只需短短1-2分钟,即可体验AI智能排查建议。
ALPD云架构师系列 - 云原生DevOps36计
如何把握和运用云原生技术,撬动新技术红利,实现持续、安全、高效和高质量的应用交付,并提升业务的连续性和稳定性,这是云原生时代持续交付共同面对的机会和挑战。本课程由阿里云开发者学堂和阿里云云效共同出品,是ALPD方法学云架构师系列的核心课程之一,适合架构师、企业工程效能负责人、对DevOps感兴趣的研发、测试、运维。 课程目标 前沿技术:了解云原生下DevOps的正确姿势,享受云原生带来的技术红利 系统知识:全局视角看软件研发生命周期,系统学习DevOps实践技能 课程大纲: 云原生开发和交付:云研发时代软件交付的挑战与云原生工程实践 云原生开发、运行基础设施:无差别的开发、运行环境 自动部署:构建可靠高效的应用发布体系 持续交付:建立团队协同交付的流程和流水线 质量守护:构建和维护测试和质量守护体系 安全保障:打造可信交付的安全保障体系 建立持续反馈和持续改进闭环
相关文章
|
存储 Java
Java扫描某个文件夹且要保证不重复扫描,如何实现?
【10月更文挑战第18天】Java扫描某个文件夹且要保证不重复扫描,如何实现?
286 3
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
909 5
|
XML 数据采集 存储
使用Java和XPath在XML文档中精准定位数据
在数据驱动的时代,从复杂结构中精确提取信息至关重要。XML被广泛用于数据存储与传输,而XPath则能高效地在这些文档中导航和提取数据。本文深入探讨如何使用Java和XPath精准定位XML文档中的数据,并通过小红书的实际案例进行分析。首先介绍了XML及其挑战,接着阐述了XPath的优势。然后,提出从大型XML文档中自动提取特定产品信息的需求,并通过代理IP技术、设置Cookie和User-Agent以及多线程技术来解决实际网络环境下的数据抓取问题。最后,提供了一个Java示例代码,演示如何集成这些技术以高效地从XML源中抓取数据。
441 7
使用Java和XPath在XML文档中精准定位数据
|
9月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
11月前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
Java Linux
java读取linux服务器下某文档的内容
java读取linux服务器下某文档的内容
136 3
java读取linux服务器下某文档的内容
|
XML JavaScript Java
NekoHTML 是一个基于Java的HTML扫描器和标签补全器
**NekoHTML** 是一个基于Java的HTML扫描器和标签补全器(tag balancer),由J. Andrew Clark开发。它主要用于解析HTML文档,并能够“修正”许多在编写HTML文档过程中常犯的错误,如增补缺失的父元素、自动用结束标签关闭相应的元素,以及处理不匹配的内嵌元素标签等。这使得程序能够以标准的XML接口来访问HTML文档中的信息。 ### NekoHTML的主要特点包括: 1. **错误修正**:能够自动修正HTML中的常见错误,如未闭合的标签等。 2. **DOM树生成**:将HTML源代码转化为DOM(Document Object Model)结构,便
255 1
|
Java API 数据中心
百炼平台Java 集成API上传文档到数据中心并添加索引
本文主要演示阿里云百炼产品,如何通过API实现数据中心文档的上传和索引的添加。
1054 4
|
XML Java 数据格式
基于Java+freemarker实现动态赋值以及生成Word文档
使用Java和Freemarker技术实现动态数据填充到Word文档模板并生成新的Word文档。
1227 0
基于Java+freemarker实现动态赋值以及生成Word文档
|
JavaScript Java
Java 将Markdown文件转换为Word和PDF文档
【7月更文挑战第5天】Java中使用`Spire.Doc for Java`库可方便地将Markdown转换为Word或PDF。基本步骤包括导入模块,创建`Document`对象,加载Markdown文件,然后保存为目标格式(`.docx`或`.pdf`)。若遇到`Invalid UTF-8 stream`错误,需确保Markdown文件是UTF-8无BOM编码。页面设置可通过`PageSetup`类调整。注意,实际应用会依据具体需求和环境有所调整。
2086 6