1. SonarQube是不是有點飄了,居然要java11+才能運行
解決方案: 重新下載老版本
也不知道哪個版本才好用,就下載了7.0 和6.6,這兩個版本用jdk1.8就可以用
2. 配置數據庫url的時候,必須使用utf-8,解決辦法:索性加全
3. 有lang 在被使用,解決辦法:關機重啟;這是我在windows下遇見的,不像關機重啟,可以將jdk的進程殺掉,主要是幾個jdk進程
4. 配置數據庫的時候,一般推薦用mysql,網上的教程也大多是mysql。如果是oracel,需要自己將oracel的驅動jar放到lib/jdbc目錄下.
我用過mysql和mssql,mssql的sample中建議sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar;integratedSecurity=true
實際使用中“ ;integratedSecurity=true ” 一加就使用失敗
5. 配置DB后打開會有些慢,因為會創建很多表,表中是記錄了一些規則
6. 以下頁面,之后還會出現,用戶名和密碼是admin admin,好像和我配置在conf/xx.property下的沒有啥關系
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記錄
8-2)不能使用root啟動sonar
8-3) 之前用root啟動生成的temp文件的創建者是root,導致再次啟動失敗
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.
8-5 )關於錯誤:This driver is not configured for integrated authentication. ClientConnectionId:03726c7d-a9cb-498e-a87a-07a8f063f7b5
直接將jdbc.url后面的交互啥的刪掉了【這也是我上面第四點提到的】
和Jenkins中的配置
說我沒有驗證,然而我怎么都不支持,我的匿名賬戶也已經disabled
后來我將sonar中配置---配置----權限---Force user authentication,就暫時解決這個問題
Jenkins中需要做的配置:
1. 下載和sonar cube有關的插件【SonarQube Scanner for Jenkins】,安裝完畢之后進行重啟
2. 在Jenkins中,系統管理----系統設置----SonarQube servers---如下進行配置
3. 在Jenkins中,全局工具配置------SonarQube Scanner---如下進行配置
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++
保存之后點擊立即構建,會發現構建歷史中多了sonar的logo
且在sonar頁面中,項目下面可以看到自己的項目,有多少個bug,有多少個漏洞,有多少個壞習慣