代码质量管理
大约 1 分钟
代码质量管理
作 者: T.J
日 期: 2024-02-19
前提
后端代码要求 JDK > 8
项目中如有本地lib的依赖, 请将lib提交公司私有仓库
需要添加ip白名单. 各办公室有脚本自动刷新
账号
已发送至各产品负责人
开发人员账号由产品负责人添加
审计小组
定制代码规则条款
- Java
- Deactivate - Track uses of "TODO" tags
- Deactivate - "static" base class members should not be accessed via derived types
- Java
重点关注规则
跟踪各产品代码质量趋势
产品负责人
- 跟踪产品质量
- 产品配置
- 针对特定问题进行处理
开发人员
生成 User Token
IDEA 中注意扫描的区别
产品参数
| Product | Project Key | Project Name | Token |
|---|---|---|---|
| Kintaro | Kintaro | Kintaro | sqp_c521d61a4******************** |
CI / CD
在 Gitlab 中添加环境变量 Settings > CI/CD > Variables
SONAR_PROJECT_KEY,SONAR_PROJECT_NAME,SONAR_URL,SONAR_TOKEN在代码 .gitlab-ci.yml 中配置脚本
stages: - sonar-check sonar-check: stage: sonar-check tags: - 2102-builder script: - | mvn clean verify sonar:sonar \ -Dsonar.projectKey=${SONAR_PROJECT_KEY} \ -Dsonar.projectName=${SONAR_PROJECT_NAME} \ -Dsonar.branch.name=${CI_COMMIT_BRANCH} \ -Dsonar.host.url=${SONAR_URL} \ -Dsonar.token=${SONAR_TOKEN} only: - main - develop - /^release.*$/stages: - sonar-check sonar-check: stage: sonar-check tags: - 2102-builder script: - | sonar-scanner \ -Dsonar.projectKey=${SONAR_PROJECT_KEY} \ -Dsonar.projectName=${SONAR_PROJECT_NAME} \ -Dsonar.branch.name=${CI_COMMIT_BRANCH} \ -Dsonar.host.url=${SONAR_URL} \ -Dsonar.token=${SONAR_TOKEN} only: - main - develop - /^release.*$/
代码排除
SonarQube 配置 Project Settings > General Settings > Analysis Scope
Source File Exclusions
Duplication Exclusions
代码配置 pom.xml
<properties> <sonar.cpd.exclusions> **/pojo/** </sonar.cpd.exclusions> <sonar.exclusions> **/utils/HTMLFilter.java </sonar.exclusions> </properties>
