maven se connectant au Sonar
j'ai maven installé sur ma machine locale et j'essaie de tester le Sonar installé sur une boîte distante.
j'ai trouvé quelques post en ligne pour configurer settings.xml
(mavenconfigsettings.xml)
et ajouter une entrée de profil...ce que j'ai fait mais ne fonctionne pas!--5-->
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- SERVER ON A REMOTE HOST -->
<sonar.host.url>http://remotebox:9000</sonar.host.url>
</properties>
</profile>
Quelle est la voie cli? J'ai essayé plusieurs options, mais rien n'a fonctionné.
j'ai essayé: mvn sonar:sonar http://remotebox:9000
Quelle est la bonne syntaxe?
Merci d'avance. Damian
PS. cela fonctionne très bien sur la boîte à distance où le maven et le sonar sont installés...je veux juste essayer ma boîte de la télécommande de la boîte.
5 réponses
en cours d'Exécution sonar
mvn sonar:sonar -Dsonar.jdbc.url=jdbc:h2:tcp://ipaddr:9092/sonar -Dsonar.host.url=http://ipaddr:9000
,où l'adresse ip est votre hôte distant, semble fonctionner.
Jusqu'à la Version 5.2 à côté du sonar.host.url
vous devez également spécifier les paramètres de la base de données comme décrit ici. De cette façon, cela fonctionne pour moi.
exemple de Configuration
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- EXAMPLE FOR MYSQL -->
<sonar.jdbc.url>
jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
</sonar.jdbc.url>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<!-- optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://myserver:9000
</sonar.host.url>
</properties>
</profile>
Depuis la Version 5.2 ce n'est plus nécessaire:
Scanners de ne pas accéder à la base de données
Ceci est le plus grand changement de cette nouvelle version: les scanners (par exemple Sonar Runner) n'ont plus accès à la base de données, ils n'utilisent que des services web pour communiquer avec le serveur. En pratique, cela signifie que les propriétés de connexion JDBC peuvent désormais être retirées des travaux D'analyse CI: sonar.jdbc.URL, sonar.jdbc.utilisateur, sonar.jdbc.mot de passe
probleme 1
comme expliqué, vous devez spécifier les détails de la connexion JDBC, sinon Sonar tentera de parler à l'instance de Derby intégrée, il suppose qu'elle tourne sur localhost.
problème 2
utilisez-vous Derby? La configuration par défaut de Derby n'accepte pas les connexions à distance, mais seulement les connexions à partir du même hôte.
SONAR-1039 question explique comment contourner ce problème, mais mon conseiller serait de mettre en place une base de données complète comme MySQL ou Postgresql.
Juste à la suite de travaux pour sonar-maven-plugin:3.2
:
mvn sonar:sonar -Dsonar.host.url=http://<sonarqubeserver>:<port>
j'ai eu quelques problèmes et j'ai ensuite réalisé que j'exécutais mavn sur parent pom alors que la configuration sonar était dans un child pom, pour lequel je voulais quand même un rapport d'analyse, donc exécuter mvn sonar:sonar avec child pom fonctionnait.