代码质量管理

大约 1 分钟

代码质量管理

作 者: T.J

日 期: 2024-02-19

前提

  • 后端代码要求 JDK > 8

  • 项目中如有本地lib的依赖, 请将lib提交公司私有仓库

  • 需要添加ip白名单. 各办公室有脚本自动刷新

账号

已发送至各产品负责人

开发人员账号由产品负责人添加

审计小组

产品负责人

  • 跟踪产品质量
  • 产品配置
  • 针对特定问题进行处理

开发人员

产品参数

ProductProject KeyProject NameToken
KintaroKintaroKintarosqp_c521d61a4********************

CI / CD

  1. 在 Gitlab 中添加环境变量 Settings > CI/CD > Variables

    SONAR_PROJECT_KEY, SONAR_PROJECT_NAME, SONAR_URL, SONAR_TOKEN

  2. 在代码 .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.*$/
    

代码排除

  1. SonarQube 配置 Project Settings > General Settings > Analysis Scope

    Source File Exclusions

    Duplication Exclusions

  2. 代码配置 pom.xml

    <properties>
        <sonar.cpd.exclusions>
            **/pojo/**
        </sonar.cpd.exclusions>
        <sonar.exclusions>
            **/utils/HTMLFilter.java
        </sonar.exclusions>
    </properties>
    
上次编辑于:
贡献者: lu_feng,james