2017-04-03 7 views
1

J'essaie de configurer SonarQube.com sur travis pour un projet Maven, mais je vois l'exception suivante sur la construction:Échec de l'exécution de l'objectif org.sonarsource.scanner.maven: sonar-maven-plugin: 3.3.0.603: sonar (default-cli) sur le projet jraft: aucune licence pour la gouvernance

[INFO] User cache: /home/travis/.sonar/cache 
[INFO] Load global settings 
[INFO] Load global settings (done) | time=456ms 
[INFO] User cache: /home/travis/.sonar/cache 
[INFO] Load plugins index 
[INFO] Load plugins index (done) | time=16ms 
[INFO] Download sonar-scm-cvs-plugin-1.0.jar 
[INFO] Download sonar-scm-svn-plugin-1.3.jar 
[INFO] Download sonar-plsql-plugin-2.9.0.901.jar 
[INFO] Download sonar-csharp-plugin-5.8.0.660.jar 
[INFO] Download sonar-java-plugin-4.7.1.9272.jar 
[INFO] Download sonar-web-plugin-2.5.0.476.jar 
[INFO] Download sonar-flex-plugin-2.3.jar 
[INFO] Download sonar-xml-plugin-1.4.2.885.jar 
[INFO] Download sonar-vbnet-plugin-3.0.3.346.jar 
[INFO] Download sonar-swift-plugin-2.0.0.1127.jar 
[INFO] Download sonar-python-plugin-1.7.0.1195.jar 
[INFO] Download sonar-github-plugin-1.4.0.699.jar 
[INFO] Download sonar-cfamily-plugin-4.6.0.7071.jar 
[INFO] Download sonar-auth-github-plugin-1.3.jar 
[INFO] Download sonar-rpg-plugin-2.1.0.736.jar 
[INFO] Download sonar-scm-mercurial-plugin-1.1.1.jar 
[INFO] Download sonar-googleanalytics-plugin-1.1.jar 
[INFO] Download sonar-widget-lab-plugin-1.8.1.jar 
[INFO] Download sonar-pli-plugin-1.5.0.702.jar 
[INFO] Download sonar-javascript-plugin-2.21.0.4409.jar 
[INFO] Download sonar-groovy-plugin-1.4.jar 
[INFO] Download sonar-cobol-plugin-3.3.1.1636.jar 
[INFO] Download sonar-scm-git-plugin-1.2.jar 
[INFO] Download sonar-php-plugin-2.10.0.2087.jar 
[INFO] Download sonar-abap-plugin-3.3.jar 
[INFO] Download sonar-governance-plugin-2.0.0.1789.jar 
[INFO] Download qualinsight-sonarqube-badges-3.0.1.jar 
[INFO] SonarQube version: 6.3.0 
[INFO] Default locale: "en_US", source code encoding: "UTF-8" 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 01:42 min 
[INFO] Finished at: 2017-04-03T09:47:20+00:00 
[INFO] Final Memory: 70M/468M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project jraft: No license for governance -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

Voici le .travis.yml:

language: java 
jdk: 
    - oraclejdk8 

addons: 
    sonarqube: 
    organization: ${SONAR_ORGANIZATION} 
    token: 
     secure: ${SONAR_TOKEN} 

script: 
    - ./travis.sh 

cache: 
    directories: 
    - $HOME/.m2/repository 
    - $HOME/.sonar 
    - $HOME/jvm 
    - $HOME/maven 

Voici le travis.sh:

#!/bin/bash 

set -e 

INITIAL_VERSION=1.0-SNAPSHOT 

export MAVEN_OPTS="-Xmx1G -Xms128m" 

mvn package sonar:sonar \ 
    $MAVEN_ARGS \ 
    -Dsonar.host.url=$SONAR_HOST_URL \ 
    -Dsonar.login=$SONAR_TOKEN \ 
    -Dsonar.projectVersion=$INITIAL_VERSION 

Pourquoi je vois cette erreur No license for governance car je n'utilise aucun composant sonar commercial (seulement sonar-java je suppose)?

Le problème semble être lié au fait que l'un des plugins nécessite une clé commerciale, mais comment puis-je dire à Travis d'installer uniquement le plugin java?

+0

Je ne peux pas reproduire votre problème. Pourtant, je vois sur votre dépôt (https://github.com/dzlab/jraft) que vous n'avez pas suivi les projets basés sur Maven disponibles dans le guide "Démarrer" (http://about.sonarqube.com/get -commencé/). N'importe quelle raison? –

+0

OK, j'ai trouvé votre problème, voir ma réponse ci-dessous. –

+0

@ Fabrice-SonarSourceTeam merci pour vos commentaires, mais je ne vous vois pas répondre !! – bachr

Répondre

3

Jeter un oeil à votre dépôt, vous ne devriez pas passer outre les différents paramètres Travis Add-on spécifie pour vous.

Plus précisément, lorsque vous substituez SONAR_TOKEN sur la ligne de commande Maven (à line 12), la conséquence est que le jeton que vous avez chiffré et passé à line 11 de votre fichier .travis.yml est complètement effacé. Pour cette raison, votre analyse est exécutée comme si vous étiez anonyme.

Alors s'il vous plaît suivez le guide Get Started et simplement exécutez la commande suivante Maven:

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar 
+0

Merci après avoir enlevé tous les paramètres supplémentaires dans l'appel mvn la construction fonctionne !!! – bachr

+0

pourquoi dans la source sonarqube ils définissent des paramètres supplémentaires au plugin sonar maven https://github.com/SonarSource/sonarqube/blob/master/travis.sh#L147-L152 – bachr

+1

Parce qu'ils n'utilisent pas le Travis Add-on –

0

Le plugin sonar-governance est un plugin commercial. check here

..... 
[INFO] Download sonar-governance-plugin-2.0.0.1789.jar 
...... 
0

Pour moi, le ci-dessous fonctionne de mon pipeline jenkins

node{ 
    stage 'Code Quality' 
    sh "mvn sonar:sonar -Dsonar.host.url=http://<hostname>:9000" 
}