Sonar Configuration PostgreSQL : Différence entre versions
m |
m |
||
(2 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 26 : | Ligne 26 : | ||
'''A noter''' que le rôle mis en place, dans ce cas, est le propriétaire de la nouvelle base. Aucune restriction ne sera appliqué à ce compte. | '''A noter''' que le rôle mis en place, dans ce cas, est le propriétaire de la nouvelle base. Aucune restriction ne sera appliqué à ce compte. | ||
+ | |||
+ | == [[File:Db-backup.png|link=]] Compte backup == | ||
+ | Dans la cadre de la procédure de backup, le compte <code>backup</code> est utilisé au niveau de <code>PostgreSql</code> comme mentionné au niveau du [[Principe_backup_PostgreSql|principe de backup]]. Il est donc nécessaire de modifier les droits par défaut. L'application se connectant avec le compte <code>sonar</code>, il est donc nécessaire de se connecter à la base <code>sonarqube</code> avec celui-ci. | ||
+ | <div class="console"> | ||
+ | # psql -d sonarqube -U sonar -h 127.0.0.1 | ||
+ | </div> | ||
+ | |||
+ | <div class="console"> | ||
+ | sonarqube=> ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO viewers; | ||
+ | ALTER DEFAULT PRIVILEGES | ||
+ | sonarqube=> GRANT SELECT ON ALL TABLES IN schema public TO viewers; | ||
+ | GRANT | ||
+ | </div> | ||
== [[File:Icon-Configuration-Settings.png|link=]] Configuration de la base de données == | == [[File:Icon-Configuration-Settings.png|link=]] Configuration de la base de données == | ||
− | La dernière étape consiste à référencer cette base au niveau de <code>Sonar</code>. Pour cela, il faut éditer le fichier <UNZIP_DIRECTORY>/conf/sonar.properties et éditer la section <code>#----- PostgreSQL 9.3 or greater</code> ainsi: | + | La dernière étape consiste à référencer cette base au niveau de <code>Sonar</code>. Pour cela, il faut éditer le fichier <code><UNZIP_DIRECTORY>/conf/sonar.properties</code> et éditer la section <code>#----- PostgreSQL 9.3 or greater</code> ainsi: |
<syntaxhighlight lang="bash" highlight="16-17"> | <syntaxhighlight lang="bash" highlight="16-17"> | ||
#----- Embedded Database (default) | #----- Embedded Database (default) | ||
Ligne 49 : | Ligne 62 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Cela permet d'activer l'utilisation de | + | Cela permet d'activer l'utilisation de <code>PostgreSql</code> au lieu de la base Derby embarquée. Il faut ensuite renseigné le compte et le mot de passe utilisé pour se connecter à cette base de données, en reprenant la définition du compte déclaré dans la base |
<syntaxhighlight lang="bash" highlight="4-7"> | <syntaxhighlight lang="bash" highlight="4-7"> | ||
# User credentials. | # User credentials. |
Version actuelle en date du 4 janvier 2021 à 11:56
La première installation de Sonar étudiée est basée sur MySql
. Depuis la version 7.9
, cette base n'est plus supportée et l'installation a été migrée sous PostgreSQL
.
Sommaire
Votre avis
Nobody voted on this yet
|
|
Création du role PostgreSQL
Un rôle est mis en place spécifiquement pour l'application.
postgres=# CREATE ROLE sonar WITH LOGIN PASSWORD 'SONAR_PASSWORD' NOSUPERUSER NOCREATEDB;
CREATE ROLE
Où SONAR_PASSWORD
est remplacé par le mot de passe souhaité.
Création de la base
Une nouvelle base est créée.
postgres=# CREATE DATABASE sonarqube WITH ENCODING 'UTF8' OWNER sonar;
CREATE DATABASE
A noter que le rôle mis en place, dans ce cas, est le propriétaire de la nouvelle base. Aucune restriction ne sera appliqué à ce compte.
Compte backup
Dans la cadre de la procédure de backup, le compte backup
est utilisé au niveau de PostgreSql
comme mentionné au niveau du principe de backup. Il est donc nécessaire de modifier les droits par défaut. L'application se connectant avec le compte sonar
, il est donc nécessaire de se connecter à la base sonarqube
avec celui-ci.
# psql -d sonarqube -U sonar -h 127.0.0.1
sonarqube=> ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO viewers; ALTER DEFAULT PRIVILEGES sonarqube=> GRANT SELECT ON ALL TABLES IN schema public TO viewers; GRANT
Configuration de la base de données
La dernière étape consiste à référencer cette base au niveau de Sonar
. Pour cela, il faut éditer le fichier <UNZIP_DIRECTORY>/conf/sonar.properties
et éditer la section #----- PostgreSQL 9.3 or greater
ainsi:
#----- Embedded Database (default)
# H2 embedded database server listening port, defaults to 9092
#sonar.embeddedDatabase.port=9092
#----- Oracle 11g/12c/18c/19c
# The Oracle JDBC driver must be copied into the directory extensions/jdbc-driver/oracle/.
# Only the thin client is supported, and we recommend using the latest Oracle JDBC driver. See
# https://jira.sonarsource.com/browse/SONAR-9758 for more details.
# If you need to set the schema, please refer to http://jira.sonarsource.com/browse/SONAR-5000
#sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/XE
#----- PostgreSQL 9.3 or greater
# By default the schema named "public" is used. It can be overridden with the parameter "currentSchema".
#sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
Cela permet d'activer l'utilisation de PostgreSql
au lieu de la base Derby embarquée. Il faut ensuite renseigné le compte et le mot de passe utilisé pour se connecter à cette base de données, en reprenant la définition du compte déclaré dans la base
# 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.jdbc.password=
sonar.jdbc.username=sonar
sonar.jdbc.password=SONAR_PASSWORD