pipeline+sonar

Posted gcgc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pipeline+sonar相关的知识,希望对你有一定的参考价值。

前提需要在项目根目录下新建sonar-project.properties文件,内容如下:

# must be unique in a given SonarQube instance
sonar.projectKey=cynomys:0.0.1
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=cynomys
sonar.projectVersion=0.0.1

# Path is relative to the sonar-project.properties file. Replace "" by "/" on Windows.
# This property is optional if sonar.modules is set.
sonar.sources=.
sonar.exclusions=**/test/**,**/target/**

sonar.java.source=1.8
sonar.java.target=1.8

# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8
# 项目的class文件地址 sonar.java.binaries=/root/.jenkins/workspace/e-content/e-content-controller/target/classes

 

 

pipeline脚本

node {
    maven_home=/usr/local/apache-maven-3.5.4

    stage(Pull Code){
        
        git branch: master, credentialsId: gitlab_account, url: http://******.git
        
    }
    
   stage(Code Check) {
            echo "代码检查!"
         }
         
     stage(SonarQube analysis) { 
        // SonarQubeServer为系统配置的SonarQube servers的名称
        withSonarQubeEnv(SonarQubeServer) { 
          sh /usr/local/sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner
          
        }
    }

   stage(Unit Test) {
         echo "单元测试 !"
      }
     

   stage(Compile) {
        echo 编译开始
        // 暂时打包报错
        sh "‘$maven_home‘/bin/mvn install"
   }

   stage(Build Images) {
        echo 敬请期待!
      
    }

    stage(Backup){
        echo 旧版本软件包已经备份
    }
    
    stage(Delete Old war){
        echo "删除老的包"
    }
    

    stage(Deploy){
       echo 部署!
       sh echo hello
    //   sh ‘scp /root/.jenkins/workspace/e-trade/e-trade-mapper/target/e-trade-mapper-1.0-SNAPSHOT.jar  [email protected]:/home/guchen_test‘
     
    }

    stage(Integration Testing) {
          echo "敬请期待!"
       }

    stage(UI Automated Testing) {
          echo "敬请期待!"
       }

    stage(Send Testing Report) {
          echo "敬请期待!"
       }

}

 

以上是关于pipeline+sonar的主要内容,如果未能解决你的问题,请参考以下文章

pipeline+sonar

pipeline-安全测试

09Jenkins:Pipeline 补充

SonarQube 在 Azure Pipelines 上失败,无法加载组件类 org.sonar.scanner.scan.filesystem.InputComponentStore

Jenkins之Pipeline代码流水线

如何在 Jenkins Pipeline 中对 SonarQube 质量门做出反应