SonarQube Update 4.5.2 : Différence entre versions
m |
(Aucune différence)
|
Version actuelle en date du 24 octobre 2018 à 18:11
Cette mise à jour s'effectue sur le principe de l'installation décrite pour la version 4.4.
Sommaire
- 1 Votre avis
- 2 Téléchargement
- 3 Installation
- 4 Propriétaire fichiers
- 5 Sécurisation
- 6 Script démarrage
- 7 Fichiers log
- 8 Paramétrages
- 9 Fichiers communs
- 10 Exécution
- 11 Permissions compte base de données
- 12 Mise à jour de la base
- 13 Permissions compte base de données post install
- 14 Plugins
- 15 Voir Aussi
Votre avis
Nobody voted on this yet
|
|
Téléchargement
La version est téléchargée dans le répertoire /var/opt/sonarqube
.
#sudo wget -O /var/opt/sonarqube/sonarqube-4.5.2.zip https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-4.5.2.zip
Installation
Puis il faut décompresser l'archive dans la structure personnalisée sous /var/opt/sonarqube
.
#sudo unzip /var/opt/sonarqube/sonarqube-4.5.2.zip -d /var/opt/sonarqube #sudo mv /var/opt/sonarqube/sonarqube-4.5.2 /var/opt/sonarqube/4.5.2
Le fichier téléchargé peut être supprimé.
#sudo rm /var/opt/sonarqube/sonarqube-4.5.2.zip
Propriétaire fichiers
L'installation a été réalisée avec le compte root
. Il est préférable de donner la propriété au compte de service, soit sonar
dans le cadre de cette installation.
#sudo chown -R sonar:sonar /var/opt/sonarqube/4.5.2
Sécurisation
Après avoir modifié le propriétaire des fichiers, il est conseillé de positionner des droits restrictifs afin que seul le propriétaire puisse accéder à ceux-ci.
#sudo chmod -R go-rwx /var/opt/sonarqube/4.5.2
Script démarrage
La modifications dans le script de démarrage, fichier /var/opt/sonarqube/4.5.2/bin/linux-x86-64/sonar.sh
, doit permettre de spécifier l'emplacement du fichier PID
. Il est modifié ainsi.
# Location of the pid file.
#PIDDIR="."
PIDDIR="/run/sonarqube"
La création du répertoire est gérée lors du démarrage du service, comme décrit lors de l'installation du service.
Fichiers log
Par défaut, les logs sont placés dans le répertoire logs
de l’instance SonarQube :
- /var/opt/sonarqube/4.5.2/logs/sonar.log
- /var/opt/sonarqube/4.5.2/logs/access.log
La définition de ces emplacements se situe dans différentes configurations.
- Fichier
conf/wrapper.conf
les écritures duwrapper
dans les fichierssonar.log
#********************************************************************
# Wrapper Logs
#********************************************************************
wrapper.console.format=PM
wrapper.console.loglevel=INFO
wrapper.logfile=../../logs/sonar.log
wrapper.logfile.format=M
wrapper.logfile.loglevel=INFO
- Fichier
conf/sonar.properties
poursonar.log
etaccess.log
#--------------------------------------------------------------------------------------------------
# LOGGING
# Level of information displayed in the logs: NONE (default), BASIC (functional information)
# and FULL (functional and technical details)
#sonar.log.profilingLevel=NONE
# Path to log files. Can be absolute or relative to installation directory.
# Default is <installation home>/logs
#sonar.path.logs=logs
Afin de centraliser les logs, les messages sont redirigés vers /var/log/sonarqube
en mettant en place des liens symboliques. Ceci permet de ne pas modifier les fichiers de configurations, limitant les modifications lors des futures montées de version. Le répertoire /var/opt/sonarqube/4.5.2/logs
existe déjà et sera supprimé. Du fait de cette organisation, utilisation d'un répertoire common
, un répertoire /var/opt/sonarqube/common/logs
sera créé lors du démarrage. Pour ce dernier, le lien est préalablement créé.
#sudo rmdir /var/opt/sonarqube/4.5.2/logs #sudo ln -s /var/log/sonarqube /var/opt/sonarqube/4.5.2/logs #sudo chown -h sonar:sonar /var/opt/sonarqube/4.5.2/logs
Paramétrages
Les fichiers de paramétrages seront déplacés dans le répertoire /var/opt/sonarqube/common/conf
afin de faciliter les montées de version. Ils ont très certainement écrit sur un environnement Windows, et dans le cadre d'une installation sous Linux, il est préférable de "formater" les fichiers avec l'utilitaire fromdos. Les fichiers vont être modifiés et placés dans le répertoire common
, il est donc nécessaire d'arrêter le service avant les modifications.
#sudo systemctl stop sonarqube #sudo fromdos -p /var/opt/sonarqube/4.5.2/conf/*
Le fichier sonar.properties
est légèrement différent de celui pour la précédente version et il est modifié avant d'être placé dans le répertoire /var/opt/sonarqube/common/conf
.
Base de données
La configuration MySql a été réalisée depuis les premières versions. Elle pourrait être reprise, mais le format du fichier sonar.properties
a été légèrement modifié. De plus, des éléments de paramétrages ont été supprimés.
Un exemple est fourni dans le fichier et il suffit de commenter le paramètre actif, sur une base H2, et d'activer celui pour MySql. Il faut également configurer le compte d'accès à la base en renseignant les paramètres sonar.jdbc.username
et sonar.jdbc.password
# User credentials.
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#----- Embedded Database (default)
# It does not accept connections from remote hosts, so the
# server and the analyzers must be executed on the same host.
#sonar.jdbc.url=jdbc:h2:tcp://localhost:9092/sonar
# H2 embedded database server listening port, defaults to 9092
#sonar.embeddedDatabase.port=9092
#----- MySQL 5.x
#sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
Annuaire LDAP
La configuration LDAP a été mise en place depuis la version 1.1 du plugin, sans être modifiée. Lors de cette mise à jour, celle-ci est reprise pour être épurée. Les lignes suivantes sont ajoutées au fichier de configuration /var/opt/sonarqube/common/conf/sonar.properties
.
#--------------------------------------------------------------------------------------------------
# LDAP Configuration
# General Configuration
sonar.security.realm=LDAP
ldap.url=ldap://localhost:389
# User Configuration
ldap.user.baseDn=ou=people,dc=ejnserver,dc=fr
ldap.user.request=(uid={login})
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail
# Group Configuration
ldap.group.baseDn=ou=groups,dc=ejnserver,dc=fr
ldap.group.request=(&(objectClass=groupOfNames)(member={dn}))
Contexte
Il faut donc spécifier à l'instance qu'il y a un contexte de déploiement, soit sonar
, à mettre en place en modifiant le paramètre sonar.web.context
.
#--------------------------------------------------------------------------------------------------
# WEB SERVER
# Web server is executed in a dedicated Java process. By default its heap size is 768Mb.
# Use the following property to customize JVM options. Enabling the HotSpot Server VM
# mode (-server) is recommended.
# Note that the option -Dfile.encoding=UTF-8 is mandatory.
#sonar.web.javaOpts=-Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError
# Same as previous property, but allows to not repeat all other settings
# like -Djava.awt.headless=true
#sonar.web.javaAdditionalOpts=
# Binding IP address. For servers with more than one IP address, this property specifies which
# address will be used for listening on the specified ports.
# By default, ports will be used on all IP addresses associated with the server.
#sonar.web.host=0.0.0.0
# Web context. When set, it must start with forward slash (for example /sonarqube).
# The default value is root context (empty value).
#sonar.web.context=
sonar.web.context=/sonar
Fichiers communs
Les liens vers les fichiers communs sont mis en place.
#sudo rm -rf /var/opt/sonarqube/4.5.2/conf #sudo ln -s /var/opt/sonarqube/common/conf /var/opt/sonarqube/4.5.2/conf #sudo chown -h sonar:sonar /var/opt/sonarqube/4.5.2/conf #sudo rm -rf /var/opt/sonarqube/4.5.2/data #sudo ln -s /var/opt/sonarqube/common/data /var/opt/sonarqube/4.5.2/data #sudo chown -h sonar:sonar /var/opt/sonarqube/4.5.2/data #sudo rm -rf /var/opt/sonarqube/4.5.2/extensions/plugins #sudo ln -s /var/opt/sonarqube/common/extensions/plugins /var/opt/sonarqube/4.5.2/extensions/plugins #sudo chown -h sonar:sonar /var/opt/sonarqube/4.5.2/extensions/plugins #sudo rm -rf /var/opt/sonarqube/4.5.2/temp #sudo ln -s /var/opt/sonarqube/common/temp /var/opt/sonarqube/4.5.2/temp #sudo chown -h sonar:sonar /var/opt/sonarqube/4.5.2/temp
Exécution
Lors de l'installation de SonarQube en service, un lien /var/opt/sonarqube/installed
a été mis en place pour pointer sur la version à activer. Des liens ont également été mis en place depuis /var/opt/sonarqube/common
vers /var/opt/sonarqube/installed
. Ainsi, en modifiant le lien installed
, ceux-ci seront automatiquement activés sans aucune modification nécessaire.
#sudo rm /var/opt/sonarqube/installed #sudo ln -s /var/opt/sonarqube/4.5.2 /var/opt/sonarqube/installed #sudo chown -h sonar:sonar /var/opt/sonarqube/installed
Il suffit de relancer le service pour la prise en compte de la mise à jour.
#sudo systemctl start sonarqube
Permissions compte base de données
Suite à l'installation, les droits d'accès du compte MySql ont été réduits. Afin de s'assurer qu'aucun problème n'aura lieu, les permissions sont temporairement augmentées pour la mise à jour, en cas de modification du schéma.
mysql> REVOKE ALL on sonar.* FROM 'sonar'@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON sonar.* TO 'sonar'@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Mise à jour de la base
Une mise à jour de la base de données est nécessaire pour cette version, ce qui est indiqué dans la trace d'exécution, fichier /var/log/sonarqube/sonar.log
.
WARN web[o.s.s.p.DatabaseServerCompatibility] Database must be upgraded. Please browse /setup
Celle-ci se déclenche en accédant à l'URL http://SERVER/sonar/setup.
Permissions compte base de données post install
Une fois l'installation terminée, les droits du compte sur la base de données sont diminués. Dans le cadre de cette mise à jour, cela n'était pas nécessaire. Les commandes suivantes sont exécutées.
mysql> REVOKE ALL on sonar.* FROM 'sonar'@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON sonar.* TO 'sonar'@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Plugins
Il faut ensuite mettre à jour les plugins installés, en téléchargeant les versions compatibles dans le répertoire /var/opt/sonarqube/common/extensions/downloads
.
Sur la machine, les plugins suivants doivent être mis à jour:
- Findbugs: https://bintray.com/artifact/download/sonarsource/SonarQube/org/sonarsource/sonar-findbugs-plugin/sonar-findbugs-plugin/3.3/sonar-findbugs-plugin-3.3.jar
- Java: http://downloads.sonarsource.com/plugins/org/codehaus/sonar-plugins/java/sonar-java-plugin/3.1/sonar-java-plugin-3.1.jar
#sudo wget -P /var/opt/sonarqube/common/extensions/downloads https://bintray.com/artifact/download/sonarsource/SonarQube/org/sonarsource/sonar-findbugs-plugin/ sonar-findbugs-plugin/3.3/sonar-findbugs-plugin-3.3.jar #sudo wget -P /var/opt/sonarqube/common/extensions/downloads http://downloads.sonarsource.com/plugins/org/codehaus/sonar-plugins/java/sonar-java-plugin/3.1/sonar-java-plugin-3.1.jar #sudo chown sonar:sonar /var/opt/sonarqube/common/extensions/downloads/*.jar #sudo chmod 600 /var/opt/sonarqube/common/extensions/downloads/*.jar
A noter que la version de Findbugs
nécessite la mise à jour de la version du plugin Java
. En passant par l'interface, ceci est réalisé automatiquement.
Le répertoire de téléchargement doit être dans l'arborescence définie par la variable SONAR_HOME
, soit dans ce cas /var/opt/sonarqube/4.5.2/extensions/downloads
. Comme pour la mise en place des fichiers communs, il faut mettre en place un lien depuis l'instance vers le répertoire common
, is il n'existe pas.
#sudo rm -rf /var/opt/sonarqube/4.5.2/extensions/downloads #sudo mkdir -p /var/opt/sonarqube/common/extensions/downloads #sudo chmod 700 /var/opt/sonarqube/common/extensions/downloads #sudo chown sonar:sonar /var/opt/sonarqube/common/extensions/downloads #sudo ln -s /var/opt/sonarqube/common/extensions/downloads /var/opt/sonarqube/4.5.2/extensions/downloads #sudo chown -h sonar:sonar /var/opt/sonarqube/4.5.2/extensions/downloads
Il faut redémarrer le serveur pour que les plugins téléchargés viennent remplacer ceux déjà installés.
La mise à jour peut être réalisée depuis l'interface, qui déclenche le téléchargement dans le répertoire download
.
Voir Aussi
Upgrade Notes: https://docs.sonarqube.org/display/SONARQUBE53/Release+4.5+Upgrade+Notes