SonarQube代码审查的配置环境查看以下文档
jenkins持续集成入门19 - (Pipeline Script from SCM)流水线项目 整合SonarQube代码审查_小哇-CSDN博客
项目工程的结构如下
1 在jenkins中新建一个项目,并创建参数,如下,此参数在Jenkinsfile文件中会有引用
2 在需要审查的每个项目的根目录下,创建sonar-project.properties文件,内容如下
sonar.projectKey=xinwen_producer
sonar.projectName=xinwen_producer
sonar.projectVersion=1.0sonar.sources=.
sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=.sonar.java.source=1.8
sonar.java.target=1.8sonar.sourceEncoding=UTF-8
sonar.projectKey=xinwen_consumer
sonar.projectName=xinwen_consumer
sonar.projectVersion=1.0sonar.sources=.
sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=.sonar.java.source=1.8
sonar.java.target=1.8sonar.sourceEncoding=UTF-8
3 在项目根目录下,新建文件 Jenkinsfile,此文件就一个
node {stage('gitlab拉取代码') {checkout([$class: 'GitSCM', branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitlab-ssh-user', url: 'git@118.31.52.50:root/multi_project.git']]])}stage('审查代码') {script {scannerHome = tool 'SonarQube-Scanner'}echo scannerHomewithSonarQubeEnv('SonarQube7.4') {//先切换到项目目录下,再审查代码sh """cd ${project_name}${scannerHome}/bin/sonar-scanner"""}}stage('编译代码') {//用-f编译不同的项目sh "mvn -f pojo clean install"sh "mvn -f ${project_name} clean package -DskipTests"}}
4 代码上传到 git,在jenkins中开始测试,效果如下