SonarQube Update 4.3
Sommaire
Votre avis
Nobody voted on this yet
|
|
Téléchargement et installation
#sudo wget -P /tmp https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-4.3.zip #sudo unzip -d /tmp /tmp/sonarqube-4.3.zip
Déploiement
La mise en place de l'application s'inspire de ce qui était préalablement réalisé par script ANT.
Il faut dans un premier temps copier l'application sous le répertoire webapps
de Tomcat.
#sudo service tomcat7 stop #sudo rm -rf /var/lib/tomcat7/webapps/sonar* #sudo mv /tmp/sonarqube-4.3/web /var/lib/tomcat7/webapps/sonar #sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/webapps/sonar
Driver base de données
Plusieurs drivers sont fournis avec la distribution. Dans les précédentes versions, tous les drivers étaient copiés dans le répertoire WEB-INF/lib
de l'application. Mais il suffit de choisir le driver en fonction de la base de données utilisée. Dans le cadre de cet article, MySql est utilisé.
#sudo cp /tmp/sonarqube-4.3/extensions/jdbc-driver/mysql/*.jar /var/lib/tomcat7/webapps/sonar/WEB-INF/lib/ #sudo chown tomcat7:tomcat7 /var/lib/tomcat7/webapps/sonar/WEB-INF/lib/*.jar
A noter, le driver doit être disponible dans le répertoire WEB-INF
et dans l'arborescence extensions/jdbc-driver
dans l'emplacement défini par SONAR_HOME
.
Plugins
Des plugins principaux et complémentaires sont disponibles dans la distribution. Les premiers doivent être disponibles le répertoire lib/core-plugins
. Les seconds doivent être déposés dans extensions/downloads
et seront installés lors du démarrage, si ils n'ont pas été déjà mis en place comme dans le cas de la mise à jour en 4.1.
#sudo rm -rf /var/opt/sonar/extensions/jdbc-driver #sudo rm -f /var/opt/sonar/lib/core-plugins/*.jar #sudo cp -p -R /tmp/sonarqube-4.3/extensions/jdbc-driver /var/opt/sonar/extensions/jdbc-driver #sudo cp -p /tmp/sonarqube-4.3/lib/core-plugins/*.jar /var/opt/sonar/lib/core-plugins/ #sudo chown -R tomcat7:tomcat7 /var/opt/sonar/extensions/jdbc-driver #sudo chown tomcat7:tomcat7 /var/opt/sonar/lib/core-plugins/*.jar
Si nécessaire, il faut vérifier les version des plugins dans le répertoire /var/opt/sonar/extensions/plugins
. Et si la version est inférieure à celle des plugins de la distribution, il faut les placer dans le répertoire /var/opt/sonar/extensions/downloads/
.
#sudo cp -p /tmp/sonarqube-4.3/lib/bundled-plugins/*.jar /var/opt/sonar/extensions/downloads/ #sudo chown tomcat7:tomcat7 /var/opt/sonar/extensions/downloads/*.jar
Suite à l'installation de la version 4.2, ces plugins étaient plus récents que ceux disponibles dans la distribution, qui contient également des versions obsolètes. Ces dernières exécutions ne sont donc pas réaliées.
Mise à jour de la base
Pour cette version, une mise à jour de la base de données est nécessaire, ce qui est indiqué dans la trace d'exécution de Tomcat.
Database must be upgraded. Please browse /setup
Celle-ci se déclenche en accédant à l'URL http://SERVER/sonar/setup.
Erreurs
Suite à l'installation de cette version, la consultation des profiles provoquent une erreur avec le message suivant dans la trace logs/sonar.log
.
2015.08.28 00:07:34 ERROR [o.s.s.ui.JRubyFacade] Fail to render: http://www.dev.jouvinio.net/sonar/rules_configuration/index/7 undefined method `inject' for nil:NilClass On line #52 of app/views/rules_configuration/index.html.erb 49: </div> 50: <div class="rule-search top"> 51: <%= message('rules_configuration.repository') -%>
52: <%= dropdown_tag "repositories", options_for_select(@select_repositories, @repositories), { 53: :show_search_box => true, 54: :width => '120px', 55: :placeholder => message('any') gems/gems/actionpack-2.3.15/lib/action_view/helpers/form_options_helper.rb:292:in `options_for_select' app/views/rules_configuration/index.html.erb:52:in `block_called_from_erb?'
Cette anomalie est annoncée fixée dans la version 4.3.1, comme indiqué dans le ticket 5335. Un hot fix est disponible en exécutant une requête SQL.
mysql> UPDATE rules SET characteristic_id=NULL, remediation_function=NULL, remediation_coeff=NULL, remediation_offset=NULL WHERE characteristic_id IS NOT NULL; Query OK, 661 rows affected (0,07 sec) Rows matched: 661 Changed: 661 Warnings: 0
Un redémarrage du serveur est nécessaire. Tant qu'il n'est pas réalisé, un avertissement peut être affiché sur la page d'accueil.
Only offset must be set on DebtRemediationFunction{type=CONSTANT_ISSUE, coefficient=1h, offset=}
Affectation Quality Gates
Cette version introduit la notion de Quality Gate, permet de donner des seuils d'acceptation sur différentes métriques. Le respect de ces seuils est représenté par une icône sur la liste des projets.
Cependant, après une analyse de projet l'icône disparait. En effet, aucun projet n'est associé à un profile.
Affectation par défaut
Dans la page Quality Gates
, il faut sélectionner le profile à appliquer par défaut.
Puis, il faut cliquer sur le bouton Set as default
.
Ainsi ce profile sera appliqué par défaut au projet.
Affectation par projet
Il est possible de surcharger l'affectation par défaut au niveau des projets. Sur la page Quality Gates
, il faut sélectionner un profile puis les projets devant y être associés, en cochant la case sur la ligne de ceux-ci. Les projets sont disponibles dans l'onglet Without
et il est possible de filtrer la liste.
Voir Aussi
Upgrade Notes: https://docs.sonarqube.org/display/SONARQUBE53/Release+4.3+Upgrade+Notes