J'essaie d'exécuter la commande maven suivante à partir du travail de jenkins, mvn clean install sonar:sonar -Dsonar.Host.url=http://hostname:9095/sonar -Dsonar.projectKey=mavensample -Dsonar.login=admin -Dsonar.password=admin -X
Mais cela échoue avec l'erreur suivante,
[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]
Lorsque j'essaie d'accéder à http: // nom d'hôte: 9095 dans le navigateur, cela fonctionne.
J'ai également défini l'URL de base dans les paramètres sonarqube sur http: // nom_hôte: 9095 et j'ai essayé mais cela échoue avec la même erreur.
Sonaqube est installé sur la même machine que Maven et Jenkins.
Je pensais que cela pouvait être dû à un proxy (peut-être que je me suis trompé). J'ai donc défini les paramètres de proxy dans le fichier sonar.properties et essayé, mais sans succès.
Pour votre information, il utilise la version suivante du plugin sonar-maven,
[INFO] --- sonar-maven-plugin:3.3.0.603:sonar (default-cli) @ my-stc ---
Quelqu'un a déjà rencontré le même problème plus tôt?
Le problème était avec la version 3.3 .__ du plugin sonar-maven. J'ai essayé avec la version 3.2 et cela a fonctionné. Je suis passé à la suite des arguments de la ligne de commande maven org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar
Essayez d'utiliser la version 3.2 de sonar-maven-plugin dans votre pom.xml
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>
Cela fonctionne pour moi.
Je pense que cela vous donne l'erreur car le programme ne peut pas atteindre le terminal que vous avez spécifié.
Vous ne devriez pas spécifier le port si l'URL a déjà un mappage DNS. Par exemple, si http://sonar.votreentreprise.com est déjà mappé sur 123.23.22.10:9000
Donc, votre drapeau -Dsonar.Host.url devrait être: - Dsonar.Host.url = http://sonar.yourcompany.com
Vous n'avez pas besoin du/sonar à la fin de http://sonar.yourcompany.com
En outre, le sonar fonctionne sur le port 9000 et non sur le port 9095.
Ce problème existe également dans le plug-in org.sonarsource.scanner.maven.sonar-maven-plugin 3.5.0.
Mettez à niveau votre dépendance POM pour utiliser une nouvelle version ou une version antérieure telle que 3.2 sont également stables.
org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar
Mise à niveau pour résoudre le problème de la version du sonar.
org.Apache.maven.plugins maven-compiler-plugin 3.5.1