Sonar Update Version 2.12 vers 2.13.1

De EjnTricks

Depuis la version 2.12, le fichier sonar.properties n'est plus utilisé. Lors de l'installation de la version 2.12, de nombreuses modifications avaient du être apportées. Les mêmes actions doivent être réalisées pour cette mise à jour.

Cependant, sur la page de mise à jour de Sonar, il est indiqué que le plugin JaCoCo n'est pas compatible avec la version 2.13 et supérieure. Il est donc supprimé, mais directement depuis l'application.

Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


System-Install-icon.png Download-icon.png Téléchargement et installation

Après avoir télécharger l'archive depuis le site de sonar, et l'avoir décompresser, il faut lancer le script build-war.sh, situé dans le répertoire war qui va générer le fichier war à installer dans le serveur Tomcat.

Ce script permet de construire le war à déployer. Cependant, la variable d'environnement sonarHome est construite avec le fichier de configuration build.xml.

  <pathconvert targetos="unix" property="sonarHome">
    <path location="${basedir}/.."/>
  </pathconvert>

Donc, le répertoire de décompression "devrait" être dans un sous répertoire du "home" de Sonar. Dans le cadre de cette utilisation le "home" se situe à l'emplacement /var/opt/sonar. Le paramétrage dans le build.xml

  <pathconvert targetos="unix" property="sonarHome">
    <!-- <path location="${basedir}/.."/> -->
    <path location="/var/opt/sonar"/>
  </pathconvert>
#./build-war.sh
Buildfile: build.xml

clean:

war:
    [mkdir] Created dir: /home/etienne/install/sonar-2.13.1/war/build/sonar-server
     [copy] Copying 2090 files to /home/etienne/install/sonar-2.13.1/war/build/sonar-server
     [copy] Copying 4 files to /home/etienne/install/sonar-2.13.1/war/build/sonar-server/WEB-INF/lib
      [war] Building war: /home/etienne/install/sonar-2.13.1/war/sonar.war
     [echo]
     [echo]       -----------------------------------------------------------------------------------------------------------
     [echo]       sonar.war is ready to be deployed. It is linked to the Sonar home directory:
     [echo]       /var/opt/sonar
     [echo]
     [echo]       IMPORTANT NOTES :
     [echo]       * supported web servers are Jetty and Tomcat 5.x/6.x/7.x
     [echo]       * the web application uses the Sonar home directory. For this reason it must be deployed on this host only.
     [echo]       * the war file must be rebuilt when :
     [echo]         - the Sonar home directory is moved to other location
     [echo]         - sonar is upgraded to a new version
     [echo]       -----------------------------------------------------------------------------------------------------------
     [echo]

BUILD SUCCESSFUL
Total time: 7 seconds


Le fichier sonar-war.properties dans WEB-INF/classes dans le war doit contenir la valeur du "home" modifié précédement:

# This file is used only when deploying the webapp to an application server.
# It is ignored when using the standalone mode shipped by default.

# Path to Sonar installation directory, if the environment variable/system property SONAR_HOME is not defined
SONAR_HOME=/var/opt/sonar


L'installation du war s'effectue par simple copie dans le répertoire webapps de Tomcat.

#sudo rm -rf /var/lib/tomcat6/webapps/sonar*
#sudo cp sonar.war /var/lib/tomcat6/webapps/
#sudo chown tomcat6:tomcat6 /var/lib/tomcat6/webapps/sonar.war


Update icon.png Plugin-icon.png Plugins

Il faut ensuite mettre à jour les extensions et plugins installés. Ceux-ci se trouvent dans le "home" spécifié au niveau du fichier sonar-war.properties.

#sudo rm -f /var/opt/sonar/lib/*.jar
#sudo rm -f /var/opt/sonar/lib/core-plugins/*.jar
#sudo rm -f /var/opt/sonar/lib/deprecated-maven-plugin/*.jar
#sudo cp lib/*.jar /var/opt/sonar/lib
#sudo cp lib/core-plugins/*.jar /var/opt/sonar/lib/core-plugins
#sudo cp lib/deprecated-maven-plugin/*.jar /var/opt/sonar/lib/deprecated-maven-plugin
#sudo chown tomcat6:tomcat6 /var/opt/sonar/lib/*.jar
#sudo chown tomcat6:tomcat6 /var/opt/sonar/lib/core-plugins/*.jar
#sudo chown tomcat6:tomcat6 /var/opt/sonar/lib/deprecated-maven-plugin/*.jar


Après mise à jour, il est donc nécessaire de mettre à jour l'ensemble des fichiers pom.xml des projets Maven utilisés. Il est donc préférable de mettre en place une configuration globale du plugin, permettant de ne modifier qu'une seule variable appliquée aux projets. Cette manipulation est décrite dans la page Sonar Maven Plugin.


Icon-database-process.png Mise à jour de la base

Puis il est nécessaire de faire la mise à jour depuis l'URL http://SERVER/sonar/setup.