美文网首页DevOPSDevOpsDevOps读书
DevOps之在jenkins中使用Pipeline集成Sona

DevOps之在jenkins中使用Pipeline集成Sona

作者: richard520 | 来源:发表于2019-05-21 17:24 被阅读5次

    一直想给jenkins集成一下测试相关的一些组件,上次在极客时间看到把SonarQube集成进去 ,今天就小试一把 ,记录一下

    1.首先就是SonarQube 就是搭建了,从官网下载来包放到服务器上,启动脚本是/usr/local/sonarqube-7.7/bin/linux-x86-64/sonar.sh start 配置文件在conf目录下,进去安装一下中文插件 就可以使用

    2.开始集成到jenkins里安装插件


    image.png

    配置如下


    image.png

    下面是我的静态检测的jenkinsfile内容

    
    stage('Unit Testing'){
    
            try {
    
                echo "start SonarQubeEnv testing"
    
                withSonarQubeEnv('SonarQube77') {
    
                    //
    
                    sh "cd eureka && ${mvn_com} sonar:sonar -Dsonar.projectKey=zhangrui  -Dsonar.host.url=http://192.168.111.118:9000 -Dsonar.login=1fa6e987c3f4d5d2e13822ec5e974da33a68cb6a"
    
                }
    
                script {
    
                timeout(15) {
    
                      //利用sonar webhook功能通知pipeline代码检测结果,未通过质量阈,pipeline将会fail
    
                      def qg = waitForQualityGate()
    
                          if (qg.status != 'OK') {
    
                              error "未通过Sonarqube的代码质量阈检查,请及时修改!failure: ${qg.status}"
    
                              bearychatSend message:"Jenkins发布项目 ${env.JOB_NAME} 第${env.BUILD_NUMBER},代码静态检测结果:未通过:${qg.status}",webhook: "${bearychat_url}"
    
                          }
    
                      }
    
                  }
    
              } catch (exc) {
    
                  bearychatSend message:"Jenkins发布项目 ${env.JOB_NAME} 第${env.BUILD_NUMBER},结果:静态检测失败",webhook: "${bearychat_url}"
    
                } 
    
            bearychatSend message:"Jenkins发布项目 ${env.JOB_NAME} 第${env.BUILD_NUMBER},结果:静态检测通过 ${qg.status}",webhook: "${bearychat_url}" 
    
          } 
    

    注意点:


    image.png

    这里使用的要和你在后台配置的SonarQube servers里的neme一致

    相关文章

      网友评论

        本文标题:DevOps之在jenkins中使用Pipeline集成Sona

        本文链接:https://www.haomeiwen.com/subject/lmajzqtx.html