jenkins持续集成入门19 - (Pipeline Script from SCM)流水线项目 整合SonarQube代码审查

工作流程图jenkins持续集成入门19 - (Pipeline Script from SCM)流水线项目 整合SonarQube代码审查

1 jenkins安装SonarQube Scanner插件

2 jenkins添加SonarQube凭证
jenkins持续集成入门19 - (Pipeline Script from SCM)流水线项目 整合SonarQube代码审查
 

3 Manage Jenkins->Configure System->SonarQube servers
jenkins持续集成入门19 - (Pipeline Script from SCM)流水线项目 整合SonarQube代码审查

 4 Manage Jenkins->Global Tool Configuration
jenkins持续集成入门19 - (Pipeline Script from SCM)流水线项目 整合SonarQube代码审查

 5 SonaQube-web界面中关闭审查结果上传到SCM功能
jenkins持续集成入门19 - (Pipeline Script from SCM)流水线项目 整合SonarQube代码审查

 6 项目根目录下,创建sonar-project.properties文件

sonar.projectKey=dockerimage_test
sonar.projectName=dockerimage_test
sonar.projectVersion=1.0

sonar.language=java
sonar.sourceEncoding=UTF-8

sonar.sources=.
sonar.java.binaries=target/classes

7 项目根目录下,创建文件Jenkinsfile,注意引用的名称要和步骤3,4的相同

pipeline {
  agent any
  stages {

    stage('gitlab拉取代码') {
          steps {
              checkout([$class: 'GitSCM', branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitlab-ssh-user', url: 'git@118.31.52.50:root/dockerimage_test.git']]])
          }
    }

    stage('编译项目') {
          steps {
              sh "mvn clean package -DskipTests"
          }
    }

    stage('SonarQube代码审查') {
      steps {
        script {
          scannerHome = tool 'SonarQube-Scanner'
        }
        withSonarQubeEnv('SonarQube7.4') {
          sh "${scannerHome}/bin/sonar-scanner"
        }
      }
    }

  }
}

8 故意写些有问题的代码,在jenkins中新建项目,在构建的过程中,看日志,可以看到sonar 的链接,点进行就可以看到sonar的审查代码的情况

上一篇:代码质量管理工具-SonarQube


下一篇:SonarScanner扫描Maven项目使用说明