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.

19
demandé sur Abimaran Kugathasan 2011-09-22 20:56:40

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.

29
répondu teknopaul 2013-02-01 15:01:59

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&amp;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:

Citation:

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

21
répondu FrVaBe 2016-11-15 07:50:00

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.

7
répondu Mark O'Connor 2011-09-22 21:01:38

Juste à la suite de travaux pour sonar-maven-plugin:3.2:

mvn sonar:sonar -Dsonar.host.url=http://<sonarqubeserver>:<port>

5
répondu Rocky Inde 2016-11-18 11:28:27

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.

0
répondu Asit 2016-09-29 12:30:17