Jenkins2使用Pipeline和Sonarqube集成

2017-09-19  本文已影响0人  木脑

安装Sonarqube6.4

安装Jenkins的插件

SonarQube Scanner说明文档如下

image.png

其实这个说明已经非常清楚了

<profile>                                                                                    
                        <id>sonar</id>                                                               
                        <activation>                                                                 
                                <activeByDefault>true</activeByDefault>                              
                        </activation>                                                                
                        <properties>       
<sonar.host.url>http://${sonarqubeUrl}</sonar.host.url>           
                        </properties>                                                                
                </profile>                                                                           
        <profile>

${sonarqubeUrl} 替换自己的服务器地址。

pipeline说明

 stage("build & SonarQube analysis") {
          node {
              withSonarQubeEnv('My SonarQube Server') {
                 sh 'mvn clean package sonar:sonar'
              }
          }
      }

      stage("Quality Gate"){
          timeout(time: 1, unit: 'HOURS') {
              def qg = waitForQualityGate()
              if (qg.status != 'OK') {
                  error "Pipeline aborted due to quality gate failure: ${qg.status}"
              }
          }
      }

build & SonarQube analysis 分析项目
Quality Gate 监听Webhook返回的结果,所以必须保证sonarqube中已经正确配置,否则会一直监听,所以增加了timeout的超时配置。防止卡死,但是没有必要配置1个小时,如果正常应该秒级可以返回。这样才能真正的控制流程,不然sonarqube失败也继续构建就不合理了。

上一篇 下一篇

猜你喜欢

热点阅读