Sonarqube Migration MySQL vers PostgreSql : Différence entre versions
m (Etienne a déplacé la page Sonarqube Mygration MySQL vers PostgreSql vers Sonarqube Migration MySQL vers PostgreSql sans laisser de redirection) |
m |
||
Ligne 32 : | Ligne 32 : | ||
== [[File:System-Install-icon.png|link=]] Installation instance vide == | == [[File:System-Install-icon.png|link=]] Installation instance vide == | ||
− | Il faut ensuite installée une version vierge de | + | Il faut ensuite installée une version vierge de <code>Sonarqube</code> avec la même version que celle à migrer. Dans le cadre de cette article, c'est une version <code>7.8</code>. L'instance est mise en place dans le répertoire <code>/var/opt/sonarqube/7.8.p</code>, et elle est configurée pour une base [[Sonar Configuration PostgreSQL|PostgreSql]]. |
Le fichier de configuration de la version sous <code>MySql</code> se trouve à l'emplacement <code>/var/opt/sonarqube/7.8/conf/sonar.properties</code>, et à l'emplacement <code>/var/opt/sonarqube/7.8.p/conf/sonar.properties</code> pour l'instance sous <code>PostgreSql</code>. | Le fichier de configuration de la version sous <code>MySql</code> se trouve à l'emplacement <code>/var/opt/sonarqube/7.8/conf/sonar.properties</code>, et à l'emplacement <code>/var/opt/sonarqube/7.8.p/conf/sonar.properties</code> pour l'instance sous <code>PostgreSql</code>. |
Version actuelle en date du 23 décembre 2020 à 17:20
Pour la mise à jour en version 7.9, la base MySql
n'est plus supportée, comme indiqué dans la documentation officielle https://community.sonarsource.com/t/end-of-life-of-mysql-support/8667. Dans le cadre de cette installation les données ont été migrées vers PostgreSql
Cet article présente l'utilisation de l'outil de migration fourni gratuitement : https://github.com/SonarSource/mysql-migrator
Sommaire
Votre avis
Nobody voted on this yet
|
|
Téléchargement
L'outil est téléchargée dans le répertoire /var/opt/sonarqube
.
#sudo wget -O /var/opt/sonarqube/mysql-migrator-1.1.0.119.zip https://binaries.sonarsource.com/Distribution/mysql-migrator/mysql-migrator-1.1.0.119.zip
Installation
Puis il faut décompresser l'archive dans la structure personnalisée sous /var/opt/sonarqube
.
#sudo unzip /var/opt/sonarqube/mysql-migrator-1.1.0.119.zip -d /var/opt/sonarqube
Le fichier téléchargé peut être supprimé.
#sudo rm /var/opt/sonarqube/mysql-migrator-1.1.0.119.zip
Installation instance vide
Il faut ensuite installée une version vierge de Sonarqube
avec la même version que celle à migrer. Dans le cadre de cette article, c'est une version 7.8
. L'instance est mise en place dans le répertoire /var/opt/sonarqube/7.8.p
, et elle est configurée pour une base PostgreSql.
Le fichier de configuration de la version sous MySql
se trouve à l'emplacement /var/opt/sonarqube/7.8/conf/sonar.properties
, et à l'emplacement /var/opt/sonarqube/7.8.p/conf/sonar.properties
pour l'instance sous PostgreSql
.
Attention, une fois l'instance installée, il est recommandée de purger les données ElasticSearch
.
#sudo rm -rf /var/opt/sonarqube/7.8.p/data/es6
Bug MySql 8
Attention, cette migration a été réalisée suite à l'installation de Ubuntu 19.10
qui embarque une version 8 de MySql
. Or les requêtes générées par Sonarqube
utilise des mots réservés de MySql
et l'outil ne fonctionne pas.
Une demande de modification a été réalisée : https://github.com/SonarSource/mysql-migrator/pull/51
Migration des données
La migration des données s'effectue simplement en exécutant l'outil mysql-migrator
et en indiquant l'emplacement du fichier de configuration contenant la configuration MySql
avec l'argument source
, l'argument target
permet de spécifier le fichier de configuration contenant la configuration PostgreSql
.
#/var/opt/sonarqube/mysql-migrator-1.1.0.119/bin/mysql-migrator -source /var/opt/sonarqube/7.8/conf/sonar.properties -target /var/opt/sonarqube/7.8.p/conf/sonar.properties
Paramétrages
Une fois la migration réalisée, il suffit de modifier le fichier de configuration de la précédente installation, soit à le fichier /var/opt/sonarqube/7.8/conf/sonar.properties
dans le cadre de cette instance, pour pointer sur la base PostgreSql
et de la relancer.
Attention, la chaîne de connexion étant modifiée un message d'avertissement est présent dans la trace, fichier sonar.log
, indiquant la modification du Server ID
.
2019.12.23 19:07:14 WARN web[][o.s.s.p.s.ServerIdManager] Server ID is reset because it is not valid anymore. Database URL probably changed. The new server ID affects SonarSource licensed products. 2019.12.23 19:07:18 INFO web[][o.s.s.p.UpdateCenterClient] Update center: https://update.sonarsource.org/update-center.properties (no proxy) 2019.12.23 19:07:22 INFO web[][o.s.s.e.IndexCreator] Delete Elasticsearch indices (DB vendor changed)
De plus, les données sont ré-indexées.
2019.12.23 19:08:19 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [rules/rule/activeRule] ... 2019.12.23 19:08:27 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [rules/rule/activeRule] done | time=7765ms 2019.12.23 19:08:27 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of types [rules/rule],[rules/rule/ruleExtension] ... 2019.12.23 19:08:52 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of types [rules/rule],[rules/rule/ruleExtension] done | time=25272ms 2019.12.23 19:08:52 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [users/user] ... 2019.12.23 19:08:54 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [users/user] done | time=1655ms 2019.12.23 19:08:54 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [components/auth/component] ... 2019.12.23 19:09:14 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [components/auth/component] done | time=20118ms 2019.12.23 19:09:14 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [views/view] ... 2019.12.23 19:09:15 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [views/view] done | time=359ms 2019.12.23 19:09:15 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [issues/auth/issue] ... 2019.12.23 19:09:27 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [issues/auth/issue] done | time=12036ms 2019.12.23 19:09:27 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of types [components/auth],[projectmeasures/auth],[issues/auth] ... 2019.12.23 19:09:44 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of types [components/auth],[projectmeasures/auth],[issues/auth] done | time=17877ms 2019.12.23 19:09:44 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [projectmeasures/auth/projectmeasure] ... 2019.12.23 19:09:49 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [projectmeasures/auth/projectmeasure] done | time=4532ms
Voir aussi
Documentation officielle: https://community.sonarsource.com/t/end-of-life-of-mysql-support/8667