![](/img/trans.png)
[英]Sonarqube 4.3 dont trigger Cobertura unit test execution on Jenkins
[英]How to connect Jenkins with SonarQube 4.3?
我嘗試將我的構建工作從Hudson遷移到Jenkins(2.32.1版)。 Maven構建工作正常,但是SonarQube的Maven構建步驟不起作用。 我使用Jenkins SonarQube插件2.5版。
我的SonarQube配置( 添加SonarQube Scanner之后 ):
我的構建環境(在使用環境變量配置SonarQube掃描儀之后 ):
我的Maven構建步驟(在使用SonarQube Scanner for Maven進行分析之后 ):
Jenkins控制台日志:
[INFO] SonarQube version: 4.3
INFO: Default locale: "en_US", source code encoding: "cp1252"
INFO: Work directory: /home/jenkins/.jenkins/jobs/test/workspace/target/sonar
INFO: SonarQube Server 4.3
[INFO] [15:34:56.104] Load batch settings
[INFO] [15:34:56.248] User cache: /home/jenkins/.sonar/cache
[INFO] [15:34:56.254] Install plugins
[INFO] [15:34:56.320] Install JDBC driver
[WARN] [15:34:56.329] H2 database should be used for evaluation purpose only
[INFO] [15:34:56.329] Create JDBC datasource for jdbc:h2:tcp://localhost/sonar
[ERROR] Fail to connect to database
日志顯示,詹金斯使用了錯誤的數據庫URL(H2而不是PostgreSQL)。
我怎么了
我找到了解決方法。 我查看了Jenkins SonarQube插件的源代碼 (因為找不到文檔),並找到了暴露的環境變量的列表:
注入與所選SonarQube安裝相關的環境變量。
根據配置,可以設置以下變量:
- SONAR_HOST_URL
- SONAR_AUTH_TOKEN
- SONAR_LOGIN
- SONAR_PASSWORD
- SONAR_JDBC_URL
- SONAR_JDBC_USERNAME
- SONAR_JDBC_PASSWORD
- SONAR_EXTRA_PROPS
- SONAR_MAVEN_GOAL-根據為SonarQube實例指定的“聲納-maven-插件的版本”提供正確的Maven目標。
使用標准構建步驟(例如Maven,Gradle,Ant和命令行腳本)配置SonarQube分析時,這些變量很有用。 如果您使用“ SonarQube Scanner”或“用於MSBuild的SonarQube Scanner”構建步驟,則不需要此功能。
將-Dsonar.jdbc.url=$SONAR_JDBC_URL
添加到我的構建步驟后:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.