2017-05-11 1 views
2

Nous avons une configuration de serveur Jenkins dans notre datacenter et derrière notre proxy.
Nous essayons de faire en sorte que cette machine exécute SonarQube Scanner sur un repo et publie les résultats sur un serveur SonarQube en dehors de notre réseau (dans AWS).Scanner Jenkins SonarQube derrière un proxy

Le travail démarre Scanner Sonar correctement, mais échoue lorsque vous essayez de vous connecter à notre serveur sonarqube:

22:12:31.612 DEBUG: keyStore is : 22:12:31.613 DEBUG: keyStore type is : jks 22:12:31.613 DEBUG: keyStore provider is : 22:12:31.613 DEBUG: init keystore 22:12:31.613 DEBUG: init keymanager of type SunX509 22:12:31.682 INFO: User cache: /zdata/jenkins/.sonar/cache 22:12:31.683 DEBUG: Extract sonar-scanner-api-batch in temp... 22:12:31.687 DEBUG: Get bootstrap index... 22:12:31.687 DEBUG: Download: http://my-sq-server.com/batch/index 22:12:31.713 ERROR: SonarQube server [http://my-sq-server.com] can not be reached

J'ai lu Sonar Runner Behind a Proxy et essayé de mettre ces valeurs dans les options JVM section et les sections Options supplémentaires mais ils ne semblent pas faire la moindre différence.

Pour résoudre ce problème un peu, j'ai ajouté une simple étape curl au travail Jenkins juste à travers un script bash et qui a frappé le même serveur et qui a bien fonctionné.

Je suis sûr que je manque juste un tout petit détail ici mais je suis nouveau à SQ et ne sais pas trop où regarder autrement.

MISE À JOUR

La sortie actuelle est à l'affiche:

/zdata/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/scanner-3.0.1.733/bin/sonar-scanner -Dhttp.proxyHost=proxy.hostname.com -Dhttp.proxyPort=8080 -e -Dsonar.host.url=http://my-sonarqube-server.com ******** -Dsonar.sourceEncoding=UTF-8 -Dsonar.sources=. -Dsonar.language=js -Dsonar.exclusions=__tests__/**,**/node_modules/**,coverage/** -Dsonar.projectVersion=1.0 -Dsonar.projectKey=repo-key -Dsonar.verbose=true -Dsonar.javascript.lcov.reportPath=coverage/lcov.info -Dsonar.tests=__tests__ "-Dsonar.projectName=Project Name" -Dsonar.projectBaseDir=/zdata/jenkins/workspace/my-project

+0

Pouvez-vous préciser la version du scanner que vous utilisez? Nous avons apporté plusieurs améliorations au proxy dans les versions récentes. –

+0

3.0.1.733 (et SonarQube Scanner pour Jenkins 2.6.1) – arsdehnel

+0

Essayez de transmettre '-Djavax.net.debug = all' aux options JVM. Cela enregistrera les opérations liées au réseau. Ceci est extrêmement verbeux, mais devrait aider à comprendre ce qui se passe. Si vous ne parvenez pas à "lire" la sortie, je vous suggère de créer un nouveau sujet sur le groupe d'utilisateurs SonarQube. Le SO n'est pas approprié pour étudier les problèmes. –

Répondre

3

Vérifiez si votre proxy requiert une authentification: vous pourriez avoir à ajouter

-Dhttp.proxyUser=username -Dhttp.proxyPassword=password 

Assurez-vous que votre proxy est la référence en tant que nom du serveur proxy, sans http://:

-Dhttp.proxyHost=myproxy (not -Dhttp.proxyHost=http://myproxy) 
+0

J'ai ajouté la sortie de journal actuelle de Jenkins. Notre proxy ne nécessite pas d'authentification. – arsdehnel