热门搜索 :
考研考公
您的当前位置:首页正文

DevOps之在jenkins中使用Pipeline集成Sona

来源:东饰资讯网

一直想给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一致

Top