Après avoir préparé notre mise-à-jour de version SonarQube dans le précédent post sur les pré-requis d’upgrade, et vu également comment effectuer un backup de notre base de données Oracle (ou tout au moins du schéma Sonar), nous allons voir maintenant comment effectuer cet upgrade.
Rappelons que vous pouvez toujours consulter la documentation sur ce sujet depuis le site SonarSource. Cette procédure n’évolue que très rarement mais je vous recommande de toujours vous y référer, pour le cas où cet article s’avérerait obsolète.
Egalement, notre upgrade traitera d’un SonarQube installé en service Windows.
Nous avons vu dans l’article précédent que nous effectuons notre upgrade depuis l’Update Center de SonarQube. Voici les opérations que m’indiquait celui-ci, à la date oú j’ai réalisé cette opération :
Upgrade de plugins
Nous pouvons donc constater un certain nombre d’opérations à effectuer concernant les plugins que nous avons installés dans notre environnement d’analyse de code.
Désinstallation de plugins
En général, j’effectue cet upgrade de plugins en 2 passes, dont la première consiste à désinstaller les plugins dont je ne veux plus ou qui ne sont plus compatibles avec la nouvelle version de SonarQube que je souhaite installer.
Vous pouvez sélectionner plusieurs plugins à désinstaller.
Il est nécessaire de redémarrer Sonar afin de mettre à jour l’Update Center. Dans notre environnement, cela passe par un Stop / Start du service Windows.
Upgrade / Installation de plugins
Une fois le service SonarQube relancé, nous pouvons constater que l’Update Center est à jour : les plugins supprimés n’apparaissent plus dans l’onglet ‘Installed Plugins’. Ils ont également disparu du répertoire ‘..\extensions\plugins’ qui leur est consacré.
Nous pouvons maintenant effectuer une seconde passe afin d’upgrader les plugins qui doivent l’être …
… et installer, soit de nouveaux plugins, soit de nouvelles versions de plugins que nous avons supprimés dans l’étape précédente.
A nouveau Re-start du service Windows, et retour à l’Update Center afin de vérifier que toutes les opérations de mise-à-jour des plugins se sont bien effectuées. Vous pouvez également downloader vous-même les plugins depuis le site SonarSource et les installer dans leur répertoire, mais cela suppose de connaître les bonnes versions. Et c’est en cela que l’Update Center vous facilite le travail !
Upgrade de SonarQube
Nous avions déjà abordé ce thème il y a 18 mois dans ce post Sonar Upgrade, lorsque Sonar ne s’appelait pas encore SonarQube. La seule autre différence, c’est que cet article concernait une installation Sonar sous Tomcat alors que je dispose maintenant d’un SonarQube en service Windows. Mais l’architecture de notre environnement reste la même, et donc les étapes de mise-à-jour également. Je me contenterai donc de les lister simplement.
Désinstaller le service SonarQube actuel
Nous devons d’abord désinstaller notre version actuelle du service SonarQube. Pour cela, il faut nous positionner dans :
- le répertoire ‘..\bin’ de la version actuelle SonarQube ;
- puis le sous-répertoire correspondant à notre système d’exploitation.
C’est-á-dire ‘sonar-3..5.1\bin\windows-x86-64’, en ce qui me concerne.
Dans ce répertoire, nous lançons le fichier ‘UninstallNTService.bat’.
La figure suivante montre la commande correspondante dans une fenètre DOS et le message indiquant la suppression du service Windows de SonarQube.
Préparer l’installation de SonarQube dans sa nouvelle version
Nous allons récupérer cette nouvelle version depuis la page de download de SonarSource. Profitez en pour lire les Release Notes, cela ne fait jamais de mal.
Je vais dézipper cette nouvelle version dans un répertoire qui lui corresponde, c’est-à-dire ‘..\sonar-3,7.2’.
Je vais ensuite récupérer les fichiers de configuration existants, donc:
- Copier les fichiers ‘sonar.properties’ (de paramètres d’environnement) et ‘wrapper.conf’ depuis ‘..\sonar-3.5.1\conf’ vers ‘..\sonar-3.7.2\conf’.
- Copier le driver de base de données Oracle ‘..\sonar-3.5.1\extensions\jdbc-driver\oracle\ojdbc6.jar’ vers le répertoire ‘..\sonar-3.7.2\extensions\jdbc-driver\oracle’ (en fonction de la base de données que vous utilisez).
- Copier les fichiers .jar des plugins installés dans notre actuel environnement Sonar depuis ‘..\sonar-3.5.1\extensions\plugins’ vers ‘..\sonar-3.7.2\extensions\plugins’.
Et si vous souhaitez installer de nouveaux plugins, ou avez oublié d’en installer certains depuis l’Update Center, vous pouvez le faire à cette étape également.
Upgrade de SonarQube
Maintenant que nous avons configuré la nouvelle version de SonarQube, nous pouvons installer le service correspondant. Pour cela, nous nous plaçons dans le répertoire ‘bin’ de la nouvelle version : ‘sonar-7..3.2\bin\windows-x86-64’, et nous lançons le fichier ‘InstallNTService.bat’.
Remarque : vous devez choisir entre un service 64 bits ou 32 bits en fonction de la version – 64 bits ou 32 bits – de votre JVM, et donc de votre installation Java.
Je lance le service Sonar afin de vérifier que l’installation s’est bien bien déroulée. Si vous rencontrez un message d’erreur, je vous suggère de vérifier que votre user a bien les droits requis pour lancer le service Windows.
Il reste un dernier point qui consiste à mettre à jour la base de données, depuis la page ‘setup’ de SonarQube.
Click sur le bouton ‘Upgrade’.
Et finalement, après quelques minutes (selon la taille de votre repository SonarQube) :
Si nous allons dans l’Update Center, nous pouvons voir que notre environnement SonarQube est maintenant ‘up to date’.
Et voilà !
A très bientôt pour un prochain post : nous fêterons les 2 ans de ce blog Qualilogy.