解決Jenkins集成SonarQube遇到的報錯問題
Jenkins集成Sonar過程中遇到的報錯
1、jenkins中無法添加sonarqube的token憑證
因為添加的憑證類型錯誤,所以無法添加token,類型應該選擇“Secret text”,而不是“username with password”。
2、啟動sonarqube報錯
#完整報錯: ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch. bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] ERROR: Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log 原因:由於 SonarQube 使用嵌入式 Elasticsearch,請確保您的 Docker 主機配置符合Elasticsearch 生產模式要求和文件描述符配置。 解決:在 Linux 上,您可以通過在主機上以 root 身份運行以下命令來設置當前會話的推薦值:(調整系統參數) sysctl -w vm.max_map_count=262144 sysctl -w fs.file-max=65536 ulimit -n 65536 ulimit -u 4096
3、es程序在sonarqube目錄下找不到java(或者沒有定義java環境變量)
#完整報錯:
2021.07.12 05:59:54 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[[key=’es’, ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch
could not find java in ES_JAVA_HOME at /opt/java/openjdk/bin/java
2021.07.12 05:59:54 WARN app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 1
2021.07.12 05:59:54 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
原因:因為用的是sonarqube:9.0.0-community最新版,可能是sonar版本問題(沒弄明白)
解決:換個低版本就不會有這個問題瞭,比如sonarqube:8.9.1-conmunity版本
4、sonarqube高版本不支持mysql數據庫
#完整報錯:
Exception in thread “main” org.sonar.process.MessageException: Unsupported JDBC driver provider: mysql原因:sonarqube7.9以上已不再支持mysql數據庫
解決:換成postgresql、oracle、sqlserver數據庫
5、jenkins項目中配置sonarqube Scanner 報錯
#完整報錯:
ERROR: Tasks support was removed in SonarQube 7.6.
ERROR:
ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.
WARN: Unable to locate ‘report-task.txt’ in the workspace. Did the SonarScanner succeed?
ERROR: SonarQube scanner exited with non-zero code: 2解決:刪除Execute SonarQube Scanner中Task to run這一欄,什麼東西都不要填
#完整報錯
org.sonar.java.AnalysisException: Your project contains .java files, please provide compiled classes with sonar.java.binaries property,
or exclude them from the analysis with sonar.exclusions property.原因:sonarqube的sonar-java插件從4.1.2開始,強制要求sonar.java.binaries參數
解決:在Analysis properties配置中添加 ”sonar.java.binaries“ 參數
到此這篇關於Jenkins集成SonarQube遇到的報錯的文章就介紹到這瞭,更多相關Jenkins集成SonarQube報錯內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- linux服務器安裝SonarQube代碼檢測工具的詳細步驟
- SonarQube實現自動化代碼掃描安裝及幾種集成使用詳解
- Java代碼規范與質量檢測插件SonarLint的使用
- 使用Docker安裝SonarQube的詳細教程
- Jenkins打包微服務構建Docker鏡像運行的實現