Java11 SonarQue analysis Jenkins : Différence entre versions
(Page créée avec « A partir des versions 9 de <code>SonarQube</code>, les analyses devront être réalisées avec une version 11 de <code>Java</code>. Cet article présente comment forcer l... ») |
(Aucune différence)
|
Version actuelle en date du 25 juin 2021 à 14:31
A partir des versions 9 de SonarQube
, les analyses devront être réalisées avec une version 11 de Java
.
Cet article présente comment forcer la version de Java
lors de l'analyse Sonar
déclenchée depuis jenkins
.
Votre avis
Nobody voted on this yet
|
|
Analyse
Lors de l'affichage d'un projet analysé par Sonarqube
, un message indique un warning sur celui-ci.
En cliquant sur le lien, un détail est présenté en spécifiant explicitement que la version de Java
doit être mises à jour en version 11 minimum.
L'analyse SonarQube
est déclenchée par Jenkins
par un simple commande mvn
du type suivant.
#/var/opt/maven/bin/mvn -DBRANCHE=develop -Dsonar.host.url=... -Dsonar.login=****** sonar:sonar
Il suffit de modifier la commande Maven
pour prendre en compte une version souhaitée de Java
.
Configuration
L'instance utilisée est installée à l'aide de Jenkins Runner, où un compte utilisateur a été mis en place avec un répertoire HOME
spécifique, à savoir /var/opt/jenkins/common/home
.
Le script de démarrage de Maven
contient deux parties intéressante pour cette étude. La première concerne l'initialisation de la commande Java
if [ -z "$JAVA_HOME" ] ; then
JAVACMD=`which java`
else
JAVACMD="$JAVA_HOME/bin/java"
fi
Il suffit donc de s'assurer que la variable d'environnement JAVA_HOME
est correctement spécifiée.
La deuxième partie intéressante se situe au début du script, pour le chargement d'un fichier d'environnement.
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
Le script mavenrc
est recherché depuis l'emplacement /etc/mavenrc
et $HOME/.mavenrc
.
Il faut donc créer ce script avec initialisation de la variable pointant sur la version de Java
souhaité, par exemple /usr/lib/jvm/default-java
. La commande suivante, exécutée après s'être connecté avec le compte d'exécution de jenkins
permet de mettre en place ce script.
#echo "JAVA_HOME=/usr/lib/jvm/default-java" >> ~/.mavenrc