SonarQube+Jenkins安装工程中遇到的吭

 1. SonarQube是不是有点飘了,居然要java11+才能运行  

解决方案: 重新下载老版本

也不知道哪个版本才好用,就下载了7.0 和6.6,这两个版本用jdk1.8就可以用

SonarQube+Jenkins安装工程中遇到的吭

 

 

2. 配置数据库url的时候,必须使用utf-8,解决办法:索性加全

SonarQube+Jenkins安装工程中遇到的吭

 

 3. 有lang 在被使用,解决办法:关机重启;这是我在windows下遇见的,不像关机重启,可以将jdk的进程杀掉,主要是几个jdk进程

SonarQube+Jenkins安装工程中遇到的吭

 

4. 配置数据库的时候,一般推荐用mysql,网上的教程也大多是mysql。如果是oracel,需要自己将oracel的驱动jar放到lib/jdbc目录下.

我用过mysql和mssql,mssql的sample中建议sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar;integratedSecurity=true

实际使用中“ ;integratedSecurity=true ”  一加就使用失败

SonarQube+Jenkins安装工程中遇到的吭

 

5. 配置DB后打开会有些慢,因为会创建很多表,表中是记录了一些规则

 SonarQube+Jenkins安装工程中遇到的吭

6. 以下页面,之后还会出现,用户名和密码是admin admin,好像和我配置在conf/xx.property下的没有啥关系

 

SonarQube+Jenkins安装工程中遇到的吭

7. 还有包含一些汉化的,一定要和自己下载的SonarQube版本对应,页面不能下载的时候,去对应链接的github中查找版本进行下载

8. 再次启动SonarCube,只有在es proceesing running 且web proccessing running,才能正常打开url,有任何一个错,去看对应的log

 比如:

8-1) Process exited with exit value [es]: 143

查看logs中的es.log,发现其中只有一条warning记录

 SonarQube+Jenkins安装工程中遇到的吭

 

8-2)不能使用root启动sonar

 SonarQube+Jenkins安装工程中遇到的吭

8-3) 之前用root启动生成的temp文件的创建者是root,导致再次启动失败

 SonarQube+Jenkins安装工程中遇到的吭

 8-4 )明明mysql已经可以运行了,为什么要用mssql??

2019.08.06 15:22:30 ERROR web[][o.s.s.p.Platform] Web server startup failed: Database collation must be case-sensitive and accent-sensitive. It is Chinese_PRC_CI_AS but should be Chinese_PRC_CS_AS.

SonarQube+Jenkins安装工程中遇到的吭

 

8-5 )关于错误:This driver is not configured for integrated authentication. ClientConnectionId:03726c7d-a9cb-498e-a87a-07a8f063f7b5

直接将jdbc.url后面的交互啥的删掉了【这也是我上面第四点提到的】

 

 


 

和Jenkins中的配置

 

SonarQube+Jenkins安装工程中遇到的吭

说我没有验证,然而我怎么都不支持,我的匿名账户也已经disabled

SonarQube+Jenkins安装工程中遇到的吭

 后来我将sonar中配置---配置----权限---Force user authentication,就暂时解决这个问题

SonarQube+Jenkins安装工程中遇到的吭

 

Jenkins中需要做的配置:

1. 下载和sonar cube有关的插件【SonarQube Scanner for Jenkins】,安装完毕之后进行重启

2. 在Jenkins中,系统管理----系统设置----SonarQube servers---如下进行配置

3. 在Jenkins中,全局工具配置------SonarQube Scanner---如下进行配置

SonarQube+Jenkins安装工程中遇到的吭

 

SonarQube+Jenkins安装工程中遇到的吭

 

 

4. 在具体的任务中,配置中添加Post Steps, 选择Execute SonarQube Scanner,填写如下

jkd8是我本地安装的JDK,我命令为jdk8

sonar.projectKey=coty-api
sonar.projectName=coty-api
sonar.language=java
sonar.java.source=1.8
#sonar.sources=/var/lib/jenkins/workspace/coty-api/src/main/
sonar.sources=/var/lib/jenkins/workspace/coty-api/target/classes
sonar.sourceEncoding=UTF-8

 

 

sonar.projectKey=coty-api
sonar.projectName=coty-api
sonar.language=java
sonar.java.source=1.8
#mvn sonar:sonar -Dsonar.java.binaries=target/classes
sonar.sources=/var/lib/jenkins/workspace/coty-api/src/main/java/
sonar.java.binaries=/var/lib/jenkins/workspace/coty-api/target/classes
sonar.sourceEncoding=UTF-8

 

sonar.projectKey=Sonar_test
sonar.projectName=Sonar_test
sonar.language=java
sonar.java.source=1.8
sonar.sources=/var/lib/jenkins/workspace/Sonar_test/src/main/java/
sonar.java.binaries=/var/lib/jenkins/workspace/Sonar_test/target/classes
sonar.sourceEncoding=UTF-8


sonarQube是一款静态代码分析的软件,能够发现代码中潜在的缺陷,比如
异常吞没,注释或多或少,不恰当的类声明
为代码的重构提供了很多的指导,它支持多种语言:java,C#,C++

 

SonarQube+Jenkins安装工程中遇到的吭

 

保存之后点击立即构建,会发现构建历史中多了sonar的logo

SonarQube+Jenkins安装工程中遇到的吭

且在sonar页面中,项目下面可以看到自己的项目,有多少个bug,有多少个漏洞,有多少个坏习惯

SonarQube+Jenkins安装工程中遇到的吭

 

 

 

 

SonarQube+Jenkins安装工程中遇到的吭

 

上一篇:IDEA中关闭sonar代码质量检测


下一篇:使用jenkins构建自动化发布系统之Sonar 代码质量管理