Sonar Update Version 2.14 vers 3.0

De EjnTricks

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échargée l'archive depuis le site de sonar, puis décompressée, 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. Attention à bien vérifier les compatibilités de versions des différents plugins installés. Par exemple, le plugin Sonargraph était installé. Après la mise à jour, Sonar ne démarrait plus. Il faut donc penser à désinstaller les plugins avant la migration.

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/sonar-3.0/war/build/sonar-server
     [copy] Copying 2127 files to /home/etienne/install/sonar/sonar-3.0/war/build/sonar-server
     [copy] Copying 4 files to /home/etienne/install/sonar/sonar-3.0/war/build/sonar-server/WEB-INF/lib
      [war] Building war: /home/etienne/install/sonar/sonar-3.0/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: 12 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. Attention à ne pas supprimer les extensions téléchargées dans le répertoire SONAR_HOME/extensions/plugins/, soit /var/opt/sonar/extensions/plugins.

#sudo rm -rf /var/opt/sonar/extensions/jdbc-driver
#sudo rm -rf /var/opt/sonar/extensions/rules
#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 -r extensions/jdbc-driver /var/opt/sonar/extensions/jdbc-driver
#sudo cp -r extensions/rules /var/opt/sonar/extensions/rules
#sudo cp lib/*.jar /var/opt/sonar/lib
#sudo cp lib/core-plugins/*.jar /var/opt/sonar/lib/core-plugins
#sudo chown -R tomcat6:tomcat6 /var/opt/sonar/extensions/*
#sudo chown tomcat6:tomcat6 /var/opt/sonar/lib/*.jar
#sudo chown tomcat6:tomcat6 /var/opt/sonar/lib/core-plugins/*.jar


Bug-icon.png Problèmes post installation

Si le plugin utilisé dans les projets Maven est org.codehaus.sonar.sonar-maven-plugin, il est nécessaire de mettre à jour l'ensemble des fichiers pom.xml. La page Sonar Maven Plugin présente la mise en place d'une variable golbale, permettant de ne modifier qu'une seule variable appliquée aux projets.

Si le plugin utilisé est org.codehaus.mojo.sonar-maven-plugin, il n'est plus nécessaire de modifier la version. Ce plugin se charge de chercher la bonne version.

Comme indiqué en préambule de la mise à jour, le plugin Sonargraph provoquait une erreur après la mise à jour de la base de données.

L'application ne pouvant plus démarrée, il est devenu impossible de désinstaller le plugin. Sa désinstallation est donc réalisée en supprimant le fichier sonar-sonargraph-plugin-3.0.2.jar se trouvant dans le répertoire des plugins SONAR_HOME/extensions/plugins, soit /var/opt/sonar/extensions/plugins dans le cadre de cette installation.


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.