{"id":1340,"date":"2013-11-30T11:11:54","date_gmt":"2013-11-30T10:11:54","guid":{"rendered":"http:\/\/qualilogy.com\/fr\/?p=1340"},"modified":"2013-12-07T11:12:47","modified_gmt":"2013-12-07T10:12:47","slug":"sonarqube-upgrade-4-0","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/fr\/sonarqube-upgrade-4-0\/","title":{"rendered":"SonarQube Upgrade 4.0"},"content":{"rendered":"<p><a href=\"http:\/\/500px.com\/Vicken\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1341\" alt=\"SonarUpgrade4.0\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarUpgrade4.0.jpg\" width=\"271\" height=\"350\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarUpgrade4.0.jpg 271w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarUpgrade4.0-232x300.jpg 232w\" sizes=\"(max-width: 271px) 100vw, 271px\" \/><\/a> Le <a title=\"Sonar Upgrade\" href=\"http:\/\/qualilogy.com\/fr\/sonarqube-upgrade2\/\" target=\"_blank\">dernier article sur SonarQube<\/a> traitait d&rsquo;un upgrade de version. J&rsquo;ai malheureusement tard\u00e9 un peu entre le moment o\u00fa j&rsquo;ai effectu\u00e9 cet upgrade et la r\u00e9alisation de l&rsquo;article, si bien qu&rsquo;une nouvelle version de SonarQube est depuis disponible.<\/p>\n<p>Il s&rsquo;agit d&rsquo;une version 4.0 (donc majeure), que j&rsquo;ai install\u00e9e ce week-end. Et comme j&rsquo;ai rencontr\u00e9 quelques erreurs, ce sera l&rsquo;occasion de mettre \u00e0 jour le post <a title=\"Sonar Upgrade\" href=\"http:\/\/qualilogy.com\/fr\/sonarqube-upgrade2\/\" target=\"_blank\">SonarQube Upgrade<\/a>, de documenter ces messages d&rsquo;erreurs et leur r\u00e9solution.<\/p>\n<p>Je ne vais pas d\u00e9tailler toutes les \u00e9tapes d&rsquo;upgrade comme dans l&rsquo;article pr\u00e9c\u00e9dent, mais pr\u00e9ciser simplement les erreurs rencontr\u00e9es et leur solutions.<\/p>\n<p><!--more--><\/p>\n<h2>SonarQube 4.0<\/h2>\n<h3>Etapes pr\u00e9alables<\/h3>\n<p>Ces \u00e9tapes sont les suivantes :<\/p>\n<ul>\n<li>Tout d&rsquo;abord, v\u00e9rifier que SonarQube n&rsquo;est pas activ\u00e9. Si c&rsquo;est le cas, arr\u00eater le service Sonar.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1345\" alt=\"SonarServiceStop\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarServiceStop.jpg\" width=\"459\" height=\"99\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarServiceStop.jpg 459w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarServiceStop-300x64.jpg 300w\" sizes=\"(max-width: 459px) 100vw, 459px\" \/><\/p>\n<ul>\n<li>Faire un backup de l&rsquo;installation SonarQube actuelle. Nous avons vu \u00e9galement comment faire un <a title=\"Backup Oracle\" href=\"http:\/\/qualilogy.com\/fr\/sonarqube-upgrade1\/\" target=\"_blank\">backup de la base de donn\u00e9es Oracle<\/a>.<\/li>\n<li>Supprimer le service Sonar existant. Nous effectuons cette d\u00e9sinstallation avec le fichier \u2018UninstallNTService.bat\u2019 qui se trouve dans le dossier correspondant \u00e0 notre syst\u00e8me d\u2019exploitation, sous le r\u00e9pertoire \u2018..bin\u2019 de la version actuelle de SonarQube.<\/li>\n<\/ul>\n<p>Remarque : je me suis amus\u00e9 \u00e0 essayer n&rsquo;importe quel fichier \u2018UninstallNTService.bat\u2019 depuis une autre version, en 32 ou 64 bits et cela fonctionne : le service Sonar est bien supprim\u00e9.<\/p>\n<p>Je vais ensuite downloader la version 4.0 de SonarQube, depuis\u00a0<a href=\"http:\/\/www.sonarqube.org\/downloads\/\" target=\"_blank\">page de download de SonarSource<\/a>.<\/p>\n<h3>Installation SonarQube 4.0<\/h3>\n<p>Je proc\u00e8de ensuite comme d&rsquo;habitude :<\/p>\n<ol>\n<li>Unzip de la version SonarQube 4.0 dans son propre r\u00e9pertoire.<\/li>\n<li>Copie des fichiers .jar des plugins install\u00e9s (dans la version pr\u00e9c\u00e9dente) vers le r\u00e9pertoire correspondant de la nouvelle version, soit \u2018..sonar-4.0extensionsplugins\u2019.<\/li>\n<li>Copie du driver de base de donn\u00e9es Oracle \u2018ojdbc6.jar\u2019 vers son nouveau r\u00e9pertoire \u2018..sonar-4,0extensionsjdbc-driveroracle\u2019 (puisque j&rsquo;utilise une base de donn\u00e9es Oracle).<\/li>\n<li>Copie des fichiers &lsquo;sonar.properties\u2019 (de param\u00e8tres d\u2019environnement) et \u2018wrapper.conf\u2019 vers le nouveau r\u00e9pertoire \u2018..sonar-4.0conf\u2019. <strong>Remarque : si vous suivez ce post pas \u00e0 pas, n&rsquo;effectuez pas cette \u00e9tape car elle est erron\u00e9e (voir ci-dessous)<\/strong>.<\/li>\n<li>Installation du nouveau service Sonar en version 4.0 avec le fichier \u2018InstallNTService.bat\u2019 qui se trouve dans le r\u00e9pertoire \u2018sonar-4,0bin&rsquo; et le sous-r\u00e9pertoire correspondant \u00e0 votre version d&rsquo;OS.<\/li>\n<\/ol>\n<p>Une fois ces op\u00e9rations r\u00e9alis\u00e9es, nous pouvons d\u00e9marrer le service Sonar &#8230; sauf que celui-ci renvoie le message d&rsquo;erreur suivant :<br \/>\n<a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarStartError.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1348\" alt=\"SonarStartError\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarStartError.jpg\" width=\"447\" height=\"184\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarStartError.jpg 447w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarStartError-300x123.jpg 300w\" sizes=\"(max-width: 447px) 100vw, 447px\" \/><\/a><\/p>\n<p>Et le fichier &lsquo;sonar.log&rsquo; affiche cette erreur : <strong>WrapperSimpleApp: Encountered an error running main: java.lang.IllegalStateException: Do not copy-paste the configuration files (conf directory) from the old version. Update the content of the new files instead.<\/strong><\/p>\n<p>Je suis bien all\u00e9 lire la page des Releases Notes de SonarSource, mais je n&rsquo;ai pas fait attention \u00e0 la\u00a0<a href=\"http:\/\/docs.codehaus.org\/display\/SONAR\/Upgrading\" target=\"_blank\">page d&rsquo;upgrade<\/a> qui a \u00e9t\u00e9 modifi\u00e9e, et qui indique qu&rsquo;il ne faut plus copier les fichiers de configuration comme auparavant, mais mettre \u00e0 jour ceux-ci directement. Donc l&rsquo;\u00e9tape 4 pr\u00e9c\u00e9dente \u00e9tait incorrecte.<\/p>\n<p>En fait, je n&rsquo;ai pas eu \u00e0 modifier le fichier &lsquo;wrapper.conf&rsquo; mais simplement \u00e0 actualiser le fichier &lsquo;sonar.properties&rsquo; avec l&rsquo;adresse de ma base de donn\u00e9es Oracle. Faites attention lorsque vous modifiez ce fichier \u00e0 ne pas commettre d&rsquo;erreur ou d&rsquo;introduire des caract\u00e8res incorrects.<\/p>\n<p>Une fois notre configuration effectu\u00e9e, nous pouvons lancer la proc\u00e9dure d&rsquo;upgrade de SonarQube depuis la page \u2018setup\u2019, c&rsquo;est-&lsquo;a-dire &lsquo;http:\/\/localhost:9000\/setup&rsquo;.<\/p>\n<p>SonarQube demande \u00e0 r\u00e9aliser un upgrade de base de donn\u00e9es :<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUpgrade.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1350\" alt=\"SonarDBUpgrade\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUpgrade.jpg\" width=\"485\" height=\"168\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUpgrade.jpg 485w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUpgrade-300x103.jpg 300w\" sizes=\"(max-width: 485px) 100vw, 485px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUpgrade2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1351\" alt=\"SonarDBUpgrade2\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUpgrade2.jpg\" width=\"352\" height=\"82\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUpgrade2.jpg 352w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUpgrade2-300x69.jpg 300w\" sizes=\"(max-width: 352px) 100vw, 352px\" \/><\/a>Nous activons le bouton &lsquo;Upgrade&rsquo; afin de lancer cette mise-\u00e0-jour. Mais je finis par rencontrer le message d&rsquo;erreur suivant, dont je soup\u00e7onne qu&rsquo;il s&rsquo;agisse d&rsquo;un probl\u00e8me avec une version obsol\u00e8te du plugin &lsquo;Sqale&rsquo;. <a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBSqaleError.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1352\" alt=\"SonarDBSqaleError\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBSqaleError.jpg\" width=\"568\" height=\"98\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBSqaleError.jpg 568w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBSqaleError-300x51.jpg 300w\" sizes=\"(max-width: 568px) 100vw, 568px\" \/><\/a><\/p>\n<h3>Mise \u00e0 jour du plugin Sqale<\/h3>\n<p>Je vais donc aller sur la page relative \u00e0 <a href=\"http:\/\/www.sonarsource.com\/products\/plugins\/governance\/sqale\/downloads\/\" target=\"_blank\">ce plugin sur le site SonarSource<\/a> :<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SqaleDownload.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1357\" alt=\"SqaleDownload\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SqaleDownload.jpg\" width=\"698\" height=\"271\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SqaleDownload.jpg 698w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SqaleDownload-300x116.jpg 300w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SqaleDownload-624x242.jpg 624w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/a><\/p>\n<p>Il y a effectivement une nouvelle version du plugin Sqale sp\u00e9cifique \u00e0 la version 4.0 de SonarQube. Je vais donc :<\/p>\n<ol>\n<li>Downloader ce plugin dans le r\u00e9pertoire \u2018..sonar-4.0extensionsplugins\u2019.<\/li>\n<li>Stop \/ Start le service Windows Sonar.<\/li>\n<li>A nouveau lancer le setup de SonarQube : &lsquo;http:\/\/localhost:9000\/setup&rsquo;<\/li>\n<\/ol>\n<p>Yes ! La mise \u00e0 jour s&rsquo;est effectu\u00e9e correctement.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUPdateOk.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1358\" alt=\"SonarDBUPdateOk\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUPdateOk.jpg\" width=\"463\" height=\"98\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUPdateOk.jpg 463w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarDBUPdateOk-300x63.jpg 300w\" sizes=\"(max-width: 463px) 100vw, 463px\" \/><\/a><\/p>\n<h3>Mise \u00e0 jour des autres plugins<\/h3>\n<p>L&rsquo;exemple pr\u00e9c\u00e9dent nous a montr\u00e9 qu&rsquo;il \u00e9tait parfois n\u00e9cessaire d&rsquo;installer une nouvelle version d&rsquo;un plugin avant d&rsquo;installer une nouvelle version de SonarQube. Raison pour laquelle il est recommand\u00e9 d&rsquo;effectuer ces mises-\u00e0-jour \u00e0 travers l&rsquo;Update Center, comme nous l&rsquo;avions vu dans le post\u00a0<a title=\"Sonar Upgrade\" href=\"http:\/\/qualilogy.com\/fr\/sonarqube-upgrade2\/\" target=\"_blank\">SonarQube Upgrade<\/a>,<\/p>\n<p>Je vais donc suivre cette m\u00eame proc\u00e9dure :<\/p>\n<ol>\n<li>Me connecter en tant qu&rsquo;admin Sonar<\/li>\n<li>Aller dans l&rsquo;Update Center et activer l&rsquo;upgrade des plugins qui n\u00e9cessitent une mise \u00e0 jour :<\/li>\n<\/ol>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarUpdateCenter.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1359\" alt=\"SonarUpdateCenter\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarUpdateCenter.jpg\" width=\"438\" height=\"365\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarUpdateCenter.jpg 438w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarUpdateCenter-300x250.jpg 300w\" sizes=\"(max-width: 438px) 100vw, 438px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarPluginsUpdate2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1361\" alt=\"SonarPluginsUpdate2\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarPluginsUpdate2.jpg\" width=\"357\" height=\"251\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarPluginsUpdate2.jpg 357w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/SonarPluginsUpdate2-300x210.jpg 300w\" sizes=\"(max-width: 357px) 100vw, 357px\" \/><\/a>SonarQube liste les plugins dont la version sera actualis\u00e9e.<\/p>\n<p>A noter que l&rsquo;upgrade de Java 1.4 \u00e0 Java 1.5 se traduit par une mise-\u00e0-jour de nombreux plugins (findbugs, pmd, etc).<\/p>\n<p>Une fois que nous avons activ\u00e9 tous les plugins \u00e0 updater, nous pouvons effectuer un Re-start du service Windows Sonar et revenir dans SonarQube.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/PluginUpdatesOk.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1370\" alt=\"PluginUpdatesOk\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/PluginUpdatesOk.jpg\" width=\"357\" height=\"93\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/PluginUpdatesOk.jpg 357w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/11\/PluginUpdatesOk-300x78.jpg 300w\" sizes=\"(max-width: 357px) 100vw, 357px\" \/><\/a>Si vous vous connectez \u00e0 nouveau dans l&rsquo;Update Center, vous pourrez constater que votre installation SonarQube est maintenant \u00e0 jour, en version 4.0 et avec tous ses plugins dans leur version la plus r\u00e9cente.<\/p>\n<p>Et voil\u00e0 ! Il ne nous reste plus maintenant qu&rsquo;\u00e0 d\u00e9couvrir les nouveaut\u00e9s de cette version 4.0 de SonarQube, et \u00e0 essayer ces nouveaux plugins. A bient\u00f4t pour un nouveau post.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le dernier article sur SonarQube traitait d&rsquo;un upgrade de version. J&rsquo;ai malheureusement tard\u00e9 un peu entre le moment o\u00fa j&rsquo;ai effectu\u00e9 cet upgrade et la r\u00e9alisation de l&rsquo;article, si bien qu&rsquo;une nouvelle version de SonarQube est depuis disponible. Il s&rsquo;agit d&rsquo;une version 4.0 (donc majeure), que j&rsquo;ai install\u00e9e ce week-end. Et comme j&rsquo;ai rencontr\u00e9 quelques [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1340","post","type-post","status-publish","format-standard","hentry","category-sonar-installation"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/1340"}],"collection":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/comments?post=1340"}],"version-history":[{"count":25,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/1340\/revisions"}],"predecessor-version":[{"id":1409,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/1340\/revisions\/1409"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/media?parent=1340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/categories?post=1340"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/tags?post=1340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}