J'ai sonarqube 6.5 avec des configurations par défaut. Lorsque l'indicateur sonar.forceAuthentication est défini sur false, je peux créer et analyser le projet via la commande indiquée ci-dessous.
mvn sonar:sonar -Dsonar.Host.url=https://mySonarHost/sonar -Dsonar.login=mySonarUserKey
Lorsque j'active le paramètre sonar.forceAuthentication (sonar.forceAuthentication = true), je ne peux pas analyser le projet. Je reçois toujours une erreur Maven:
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project storm: Not authorized. Please check the properties sonar.login and sonar.password. -> [Help 1]
Il ne fonctionne pas sur le compte administrateur par défaut ni sur le compte utilisateur créé (avec la permission d'analyser le projet). J'ai également essayé de ne pas utiliser la clé utilisateur, mais le login et le mot de passe de l'utilisateur (-Dsonar.login
Et -Dsonar.password
Dans la configuration de maven) mais cela ne fonctionne pas non plus. J'ai essayé d'utiliser différentes versions de sonar (de 4.5.7 à 5.6.6 en passant par la plus récente, 6.5, mais j'obtiens toujours le même résultat).
Pendant la connexion, j'ai de tels messages dans mon access.log:
IP_ADDRESS - - [08/Sep/2017:12:03:33 +0200] "GET /sonar/batch/index HTTP/1.1" 200 - "-" "ScannerMaven/3.3.0.603/3.5.0" "SOME_KEY"
IP_ADDRESS - - [08/Sep/2017:12:03:33 +0200] "GET /sonar/api/settings/values.protobuf HTTP/1.1" 401 - "-" "ScannerMaven/3.3.0.603/3.5.0" "SOME_KEY"
Il est nécessaire pour moi de définir le paramètre sonar.forceAuthentication sur true (seuls les utilisateurs de confiance peuvent y avoir accès).
Une idée comment configurer et accéder à sonarqube via maven avec des paramètres d'identification?
Avez-vous défini les deux sonar.login
et sonar.password
paramètres ( https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven#AnalyzingwithSonarQubeScannerforMaven-Security )?
Notez que dans les versions récentes (comme SonarQube 6.5), vous devez utiliser un jeton utilisateur et le définir simplement dans le sonar.login
paramètre: https://docs.sonarqube.org/display/SONAR/User+Token
Il s'agit d'une commande minimale que j'utilise pour mettre à jour Sonar Cube Dashboard pour mon projet,
mvn clean install sonar:sonar -Dsonar.Host.url=<Server_URL> -Dsonar.login=<Token_For_Your_User_Id> -Dsonar.projectKey=<It will be calculated by default using group id & artifact id but its advisable that you use a unique string for all users> -Dsonar.projectName=<Descriptive Project Name to show on dashboard> -Dsonar.projectVersion=<if you wish to specify a version number>
Vous pouvez toujours encapsuler une valeur de chaîne entre guillemets doubles si elle contient des espaces.
Avant d'utiliser la commande ci-dessus, vous devez générer un jeton pour votre ID utilisateur comme spécifié dans la réponse fournie par Eric. Il n'est pas nécessaire de transmettre la propriété du mot de passe.