美文网首页
SonarQube安装Community Branch Plug

SonarQube安装Community Branch Plug

作者: 87d6dc4b11a7 | 来源:发表于2022-01-08 10:08 被阅读0次

使用docker安装SonarQube

安装数据库
docker run -d --restart=always --name postgresql -e POSTGRESQL_USERNAME=sonar -e POSTGRESQL_PASSWORD=admin@123 -e POSTGRESQL_DATABASE=sonar -p 5432:5432 bitnami/postgresql:11.7.0-debian-10-r55
安装SonarQube
docker run -d --restart=always --name sonarqube -p 9000:9000 -e SONAR_JDBC_URL=jdbc:postgresql://192.168.116.128:5432/sonar -e SONAR_JDBC_USERNAME=sonar -e SONAR_JDBC_PASSWORD=admin@123 -v /opt/sonarqube/conf:/opt/sonarqube/conf -v /opt/sonarqube/data:/opt/sonarqube/data -v /opt/sonarqube/extensions:/opt/sonarqube/extensions -v /opt/sonarqube/logs:/opt/sonarqube/logs sonarqube:8.9.6-community

使用admin/admin登录,首次登录需要修改密码。

安装Community Branch Plugin插件

1、下载对应版本的Community Branch Plugin插件,我们使用的sonarqube:8.9.6-community,因此下载对应的1.8.1版本的插件。

SonarQube Version Plugin Version
9.1+ 1.10.0
9.0 1.9.0
8.9 1.8.1
8.7 - 8.8 1.7.0
8.5 - 8.6 1.6.0
8.2 - 8.4 1.5.0
8.1 1.4.0
7.8 - 8.0 1.3.2
7.4 - 7.7 1.0.2

2、将下载的jar包放到拷贝到/opt/sonarqube/extensions/plugins目录。
3、添加sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.1.jar=websonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.1.jar=ce/opt/sonarqube/conf/sonar.properties
4、重启SonarQube,接受关于使用第三方插件的警告。
5、检查安装情况,查看插件配置,进入Administration—>General Settings—>Housekeeping。发现没有如下所的插件配置。


6、参考:https://github.com/mc1arke/sonarqube-community-branch-plugin/issues/522,我在sonarqube的启动命令docker run中加了-e sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.1.jar=web -e sonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.1.jar=ce,重新run后插件生效。完整启动命令:
docker run -d --restart=always --name sonarqube -p 9000:9000 -e SONAR_WEB_JAVAADDITIONALOPTS=-javaagent:/opt/sonarqube/extensions/plugins/sonarqube-community-branch-plugin-1.8.1.jar=web -e SONAR_CE_JAVAADDITIONALOPTS=-javaagent:/opt/sonarqube/extensions/plugins/sonarqube-community-branch-plugin-1.8.1.jar=ce -e SONAR_JDBC_URL=jdbc:postgresql://192.168.116.128:5432/sonar -e SONAR_JDBC_USERNAME=sonar -e SONAR_JDBC_PASSWORD=admin@123 -v /opt/sonarqube/conf:/opt/sonarqube/conf -v /opt/sonarqube/data:/opt/sonarqube/data -v /opt/sonarqube/extensions:/opt/sonarqube/extensions -v /opt/sonarqube/logs:/opt/sonarqube/logs sonarqube:8.9.6-community

如何使用

参考:https://www.jianshu.com/p/bed574ae9ccc,在jenkinsfile中的sonar-scanner指定sonar.branch.name = <branch_name>分支名,如下

node('openjdk8') {
    def sonar_home = tool name: 'sonar-scanner-4.6.2'
    withEnv(["PATH+bin=${sonar_home}/bin:/usr/local/bin:/usr/bin:/bin"]) {
        stage('拉取代码') {
            git credentialsId: 'github', url: 'https://github.com/Shawn1yao/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/ -Dsonar.branch.name=release-20220210"
            }        
        }
        
        stage('阈值判断') {
            timeout(30) { waitForQualityGate abortPipeline: true } 
        }       
    }
}

流水线执行完毕后,登录sonarqube平台查看。

相关文章

网友评论

      本文标题:SonarQube安装Community Branch Plug

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