美文网首页
Jenkins集成SonarQube

Jenkins集成SonarQube

作者: 87d6dc4b11a7 | 来源:发表于2021-12-28 19:47 被阅读0次

1、准备sonarqube的token

在sonarqube平台创建jenkins用户,用来专门对接Jenkins

在使用火狐浏览器通过sonarqube 8.9.6创建用户时,点击创建按钮无反应,使用chrome浏览器创建成功。

sonarqube默认开启用户身份认证,可以点击Administration -> Configuration -> General Settings -> Security查看该配置。

使用jenkins用户登录,点击左上角用户头像 -> My Account -> Security,生成token

注意,确保复制一份保存,过后就无法查看该token。

2、Jenkins中安装sonar插件并配置

安装SonarQube Scanner插件;
安装完成后,进入系统管理 -> 系统配置 -> SonarQube servers,点击Add SonarQube,完成配置:
勾选Environment variables
name:自定义即可
ServerUrl:sonar服务地址,地址的最后没有斜杠
Server authentication token: 前一步生成的token。注意:创建token时,需选择'Secret Text'类型

进入系统管理 -> 全局工具配置 -> SonarQube Scanner,完成scanner配置。

3、配置流水线job

node('test-agent') {
    def sonar_home = tool name: 'sonar-scanner-4.6.2'
    withEnv(["PATH+bin=${sonar_home}/bin:/usr/local/bin:/usr/bin:/bin"]) {
        stage('拉取代码') {
            sh "echo $PATH"
            git credentialsId: 'github', url: 'https://github.com/TTFHW/jenkins_pipeline_java_maven.git'
        }

        stage('代码审查'){
            withSonarQubeEnv('sonarqube-8.9.6') {
                sh "sonar-scanner -Dsonar.java.binaries=src -Dsonar.projectKey=myproject -Dsonar.sources=src -Dsonar.host.url=http://192.168.116.128:9000/"
            }        
        }
        
        stage('阈值判断') {
            timeout(30) { waitForQualityGate abortPipeline: true } 
        }       
    }
}

4、在sonarqube平台配置webhook,用来回调扫描的结果

使用admin登录,进入Administration -> Configuration -> Webhooks,点击create,URL配置为:Jenkins地址+/sonarqube-webhook。然后在jenkins配置webhook的secret。

https://www.cnblogs.com/liuyitan/p/13160755.html
https://github.com/jenkinsci/sonarqube-plugin

相关文章

网友评论

      本文标题:Jenkins集成SonarQube

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