私はジェンキンスジョブから次のmavenコマンドを実行しようとしています、mvn clean install sonar:sonar -Dsonar.Host.url=http://hostname:9095/sonar -Dsonar.projectKey=mavensample -Dsonar.login=admin -Dsonar.password=admin -X
しかし、次のエラーで失敗します。
[DEBUG] 18:20:49.119 Download: http://hostname:9095/batch/index
[ERROR] 18:20:49.176 SonarQube server [http://hostname:9095] can not be reached
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.920 s
[INFO] Finished at: 2017-07-14T18:20:49+02:00
[INFO] Final Memory: 20M/171M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project my-stc: Unable to execute SonarQube: Fail to get bootstrap index from server: Status returned by url [http://hostname:9095/batch/index] is not valid: [403] -> [Help 1]
ブラウザで http:// hostname:9095 にアクセスしようとすると動作します。
また、sonarqube設定のベースURLを http:// hostname:9095 に設定しましたが、同じエラーで失敗しました。
Sonaqubeは、mavenおよびjenkinsと同じマシンにインストールされます。
私はそれがプロキシに起因するかもしれないと思った(私は間違っているかもしれません)ので、私はsonar.propertiesファイルでプロキシ設定を設定しましたが、運はありませんでした。
参考までに、次のバージョンのsonar-mavenプラグインを使用しています。
[INFO] --- sonar-maven-plugin:3.3.0.603:sonar (default-cli) @ my-stc ---
誰も以前に同じ問題に直面しましたか?
この問題は、バージョン3.2で試してみたsonar-mavenプラグインバージョン3.3で発生しました。次をmavenコマンドライン引数に渡しましたorg.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar
Pom.xmlでsonar-maven-pluginバージョン3.2を使用してみてください
pom.xml
<properties>
<sonar.Host.url>http://xxxxx:9000</sonar.Host.url>
<sonar.login>be2fe3y27f07db354983dfxysdsa5256</sonar.login>
<sonar.language>Java</sonar.language>
<sonar.scm.provider>git</sonar.scm.provider>
</properties>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.2</version>
</plugin>
これは私のために動作します。
プログラムが指定したエンドポイントに到達できないため、エラーが発生していると思います。
URLに既にDNSマッピングがある場合は、ポートを指定しないでください。たとえば、 http://sonar.yourcompany.com がすでに123.23.22.10:9000にマッピングされている場合
したがって、-Dsonar.Host.urlフラグは次のようになります。-Dsonar.Host.url = http://sonar.yourcompany.com
http://sonar.yourcompany.com の最後に/ sonarは必要ありません
また、ソナーは9095ではなくポート9000で実行されます。
この問題はorg.sonarsource.scanner.maven.sonar-maven-plugin 3.5.0プラグインにも存在します。
POM依存関係をアップグレードして、新しいバージョンを使用するか、3.2などの以前のバージョンも安定します。
org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar
同じ問題がありました。このケースでは、JenkinsとSonarQubeの両方が、リバースプロキシの背後にある同じマシンで実行されていました。ソナーのホストURLを http:// localhost:90 に更新した後、問題を解決しました。
アップグレードしてソナーバージョンの問題を解決します。
org.Apache.maven.plugins maven-compiler-plugin 3.5.1