{"id":1379,"date":"2013-12-06T14:01:10","date_gmt":"2013-12-06T13:01:10","guid":{"rendered":"http:\/\/qualilogy.com\/fr\/?p=1379"},"modified":"2013-12-08T09:46:27","modified_gmt":"2013-12-08T08:46:27","slug":"upgrade-sonarqube-runner-jenkins","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/fr\/upgrade-sonarqube-runner-jenkins\/","title":{"rendered":"Upgrade SonarQube-Runner et Jenkins"},"content":{"rendered":"<p><a href=\"http:\/\/500px.com\/Vicken\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1378\" alt=\"JenkinsUpgrade\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsUpgrade.jpg\" width=\"350\" height=\"247\" \/><\/a>J&rsquo;ai mis \u00e0 jour ma version de SonarQube dans l<a href=\"http:\/\/qualilogy.com\/fr\/sonarqube-upgrade-4-0\/\" target=\"_blank\">e post SonarQube Upgrade 4.0<\/a>, ce qui nous a donn\u00e9 l&rsquo;opportunit\u00e9 de documenter quelques erreurs rencontr\u00e9es.<\/p>\n<p>J&rsquo;ai voulu updater \u00e9galement les autres composants que sont SonarQube-Runner et Jenkins et le Monsieur Jenkins m&rsquo;a caus\u00e9 quelques soucis.<\/p>\n<p>Donc ce post va nous permettre de voir un upgrade de SonarQube-Runner et Jenkins, ainsi que de r\u00e9soudre (ou contourner) les erreurs rencontr\u00e9es.<!--more--><\/p>\n<h2>Upgrade de Jenkins<\/h2>\n<p>Apr\u00e8s avoir effectu\u00e9 l&rsquo;upgrade de SonarQube en 4.0, je suis bien \u00e9videmment all\u00e9 dans le portail de Jenkins afin de lancer une analyse. J&rsquo;ai remarqu\u00e9 \u00e0 cette occasion qu&rsquo;il y avait une nouvelle version, et donc j&rsquo;ai d\u00e9cid\u00e9 d&rsquo;en profiter pour actualiser \u00e9galement mon environnement Jenkins.<\/p>\n<p>Par contre, contrairement \u00e0 l&rsquo;<a href=\"http:\/\/qualilogy.com\/fr\/migrer-jenkins-tomcat-service-windows\/\" target=\"_blank\">installation de Jenkins en service Windows<\/a> que nous avions vue il y a quelques temps, je me suis dit que ce serait l&rsquo;occasion d&rsquo;installer Jenkins avec une install Windows, je veux dire, \u00e0 partir d&rsquo;un ex\u00e9cutable d&rsquo;installation.<\/p>\n<p>Je suis donc all\u00e9 sur <a title=\"La page d'accueil de Jenkins\" href=\"http:\/\/jenkins-ci.org\/\" target=\"_blank\">le site de Jenkins<\/a> afin de t\u00e9l\u00e9charer le <a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/DownloadJenkinsWindows.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1385\" alt=\"DownloadJenkinsWindows\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/DownloadJenkinsWindows.jpg\" width=\"165\" height=\"62\" \/><\/a>package natif Windows, qui se pr\u00e9sente sous la forme d&rsquo;un fichier compress\u00e9 &lsquo;jenkins-1.541.zip&rsquo;.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/InstallJenkinsSetup.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1387\" alt=\"InstallJenkinsSetup\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/InstallJenkinsSetup.jpg\" width=\"165\" height=\"75\" \/><\/a>Une fois celui-ci d\u00e9compress\u00e9, nous nous retrouvons avec un fichier &lsquo;setup.exe&rsquo; et un fichier d&rsquo;installation &lsquo;jenkins-1.541.msi&rsquo;.<\/p>\n<p>Je vais v\u00e9rifier que mon service Jenkins existant est bien arr\u00eat\u00e9. Puis je vais lancer le fichier &lsquo;setup.exe&rsquo;. L&rsquo;installation &#8211; en fait la mise \u00e0 jour du service Windows Jenkins &#8211; passe par plusieurs \u00e9tapes : &lsquo;Installing&rsquo;, &lsquo;Validating install&rsquo;, &lsquo;Starting service&rsquo;, &#8230; je vous passe les d\u00e9tails.<\/p>\n<p>Je sais que le service a bien \u00e9t\u00e9 mis \u00e0 jour pour la bonne raison &#8230; qu&rsquo;il ne se lance pas. En effet, je retrouve la m\u00eame erreur que lors de notre premi\u00e8re\u00a0<a href=\"http:\/\/qualilogy.com\/fr\/migrer-jenkins-tomcat-service-windows\/\" target=\"_blank\">installation de Jenkins en service Windows<\/a>, c&rsquo;est-\u00e0-dire qu&rsquo;il me faut changer le user Windows afin de pouvoir lancer le service correctement.<\/p>\n<p>Une fois cela fait, le service Jenkins d\u00e9marre sans probl\u00e8me, mais par contre, impossible d&rsquo;afficher le portail de Jenkins \u00e0 son habituelle adresse\u00a0<strong>http:\/\/localhost:8080\/<\/strong>. En fait, je vois une forte activit\u00e9 de mon ordinateur depuis la liste des t\u00e2ches Windows, un process Java qui prend beaucoup de CPU, et ce de mani\u00e8re assez continue.<\/p>\n<p>J&rsquo;ai attendu patiemment, j&rsquo;ai arr\u00eat\u00e9-relanc\u00e9 plusieurs fois le service Jenkins, m\u00eame reboot\u00e9 mon ordinateur, rien n&rsquo;y fait. En fait, j&rsquo;ai fini par comprendre, en naviguant \u00e0 travers les diff\u00e9rents logs de Jenkins, qu&rsquo;il manquait une librairie (un fichier .jar) qui interdisait le fonctionnement correct de la webapp de Jenkins. Et que face \u00e0 cet \u00e9chec, celui-ci tentait de se relancer continuellement, dans une boucle infructueuse et surtout sans message d&rsquo;explication du probl\u00e8me rencontr\u00e9.<\/p>\n<p>J&rsquo;ai donc fini par d\u00e9sinstaller cette application Jenkins afin de proc\u00e9der \u00e0 l&rsquo;installation selon la m\u00eame proc\u00e9dure que dans notre post <a href=\"http:\/\/qualilogy.com\/fr\/migrer-jenkins-tomcat-service-windows\/\" target=\"_blank\">installation de Jenkins en service Windows<\/a>, \u00e0 partir d&rsquo;un fichier .war. Donc je ne vais pas reprendre cette proc\u00e9dure d&rsquo;installation par le d\u00e9tail, mais simplement en rappeler les grandes \u00e9tapes :<\/p>\n<ol>\n<li>Download du fichier &lsquo;jenkins.war&rsquo; depuis <a title=\"La page d'accueil de Jenkins\" href=\"http:\/\/jenkins-ci.org\/\" target=\"_blank\">le site de Jenkins.<\/a><\/li>\n<li>Lancement de Jenkins avec la commande <strong>java -jar jenkins.war<\/strong> depuis une fen\u00eatre DOS.<\/li>\n<li>Dans le portail de Jenkins (url\u00a0<strong>http:\/\/localhost:8080\/<\/strong>), menu &lsquo;Manage Jenkins&rsquo;, puis &lsquo;Install as Windows service&rsquo;.<\/li>\n<li>Une fois le service install\u00e9, je dois modifier le user Windows avec les droits suffisants pour lancer celui-ci. Cette \u00e9tape est sp\u00e9cifique \u00e0 mon portable, elle devrait \u00eatre facultative pour une installation serveur de Jenkins.<\/li>\n<li>Je modifie ensuite la configuration de Jenkins (le fichier \u2018<strong>jenkins.xml<\/strong>\u2018) afin de le faire pointer sur mon repository actuel, et ainsi r\u00e9cup\u00e9rer tous les jobs d&rsquo;analyse existants.<\/li>\n<\/ol>\n<p>Et finalement, je peux lancer Jenkins.<\/p>\n<h2>SonarQube absent de Jenkins<\/h2>\n<p>Sauf que lorsque je veux lancer une analyse, absolument rien ne se passe. Je vais v\u00e9rifier les plugins install\u00e9s et le plugin pour SonarQube est bien pr\u00e9sent dans ma configuration Jenkins actuelle. Par contre, lorsque je vais dans la page de configuration de Jenkins (menu &lsquo;Manage Jenkins&rsquo;), la partie correspondant au <a href=\"http:\/\/qualilogy.com\/fr\/sonarqube-windows-jenkins-tomcat\/\" target=\"_blank\">param\u00e9trage de SonarQube<\/a> est absente.<\/p>\n<p>J&rsquo;ai pass\u00e9 pas mal de temps et il m&rsquo;a fallu diverses tentatives infructueuses (dont une r\u00e9-install du plugin SonarQube qui a eu pour cons\u00e9quence la perte de mes configurations d&rsquo;analyse) avant de d\u00e9couvrir l&rsquo;erreur. Je ne sais pas comment celle-ci a pu survenir, si elle est provient de l&rsquo;installation infructueuse de Jenkins avec un package natif Windows ou tout simplement d&rsquo;une manipulation de ma part, mais il se trouve que le plugin &lsquo;Maven Integration&rsquo; \u00e9tait d\u00e9sactiv\u00e9. Comme je ne suis pas un Maveniste, il se peut tr\u00e8s bien que je l&rsquo;ai d\u00e9coch\u00e9 sans m&rsquo;en souvenir.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsMavenIntegrationPlugin.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1394\" alt=\"JenkinsMavenIntegrationPlugin\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsMavenIntegrationPlugin.jpg\" width=\"716\" height=\"52\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsMavenIntegrationPlugin.jpg 716w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsMavenIntegrationPlugin-300x21.jpg 300w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsMavenIntegrationPlugin-624x45.jpg 624w\" sizes=\"(max-width: 716px) 100vw, 716px\" \/><\/a><\/p>\n<p>Toujours est-il qu&rsquo;en r\u00e9activant ce plugin, ma configuration de SonarQube dans Jenkins est revenue, telle qu&rsquo;elle \u00e9tait \u00e0 l&rsquo;origine (voir \u00e0 nouveau le post d&rsquo;<a href=\"http:\/\/qualilogy.com\/fr\/sonarqube-windows-jenkins-tomcat\/\" target=\"_blank\">installation de SonarQube en service Windows<\/a>, ainsi que l&rsquo;<a href=\"http:\/\/qualilogy.com\/fr\/installer-sonarqube-le-plugin-sonarqube-pour-jenkins\/\" target=\"_blank\">installation du plugins Jenkins pour SonarQube<\/a> \u00e0 ce sujet).<\/p>\n<h2>Upgrade de SonarQube-Runner<\/h2>\n<p>La mise \u00e0 jour de SonarQube Runner n&rsquo;a pas pos\u00e9 de probl\u00e8mes. Donc \u00e0 nouveau, je ne vais reprendre que les \u00e9tapes principales (telles que vues dans le post d&rsquo;<a href=\"http:\/\/qualilogy.com\/fr\/installer-sonarqube-le-plugin-sonarqube-pour-jenkins\/\" target=\"_blank\">installation de SonarQube-Runner<\/a>) :<\/p>\n<ol>\n<li>Downloader le fichier d\u2019installation du SonarQube Runner depuis la page <a title=\"Installing and configuing the Sonar Runner\" href=\"http:\/\/docs.codehaus.org\/display\/SONAR\/Installing+and+Configuring+SonarQube+Runner\" target=\"_blank\">Installing and Configuring SonarQube Runner<\/a>, en version 2.3 dans mon cas (\u00e0 la date de ce post).<\/li>\n<li>D\u00e9compresser ce fichier .zip dans un r\u00e9pertoire \u2018sonar-runner-2.3\u2019.<\/li>\n<li>Modifier le fichier de configuration &lsquo;sonar-runner.properties&rsquo; afin d&rsquo;indiquer la localisation de SonarQube et de notre base de donn\u00e9es Oracle.<\/li>\n<\/ol>\n<p style=\"text-align: center\"><a href=\"http:\/\/500px.com\/Vicken\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" alt=\"\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/SonarQubeSonarUrlOk.jpg\" width=\"377\" height=\"60\" \/><\/a><\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsSonarRunnerInstallation.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1395\" alt=\"JenkinsSonarRunnerInstallation\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsSonarRunnerInstallation.jpg\" width=\"180\" height=\"62\" \/><\/a>Dans Jenkins, nous allons \u00e0 nouveau dans la page de configuration (menu &lsquo;Manage Jenkins&rsquo;) afin d&rsquo;ouvir la partie consacr\u00e9e \u00e0 la configuration du &lsquo;SonarQube-Runner&rsquo; et lui pr\u00e9ciser l&#8217;emplacement de cette nouvelle version.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsSonarRunnerInstallation2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1396\" alt=\"JenkinsSonarRunnerInstallation2\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsSonarRunnerInstallation2.jpg\" width=\"569\" height=\"138\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsSonarRunnerInstallation2.jpg 569w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsSonarRunnerInstallation2-300x72.jpg 300w\" sizes=\"(max-width: 569px) 100vw, 569px\" \/><\/a><\/p>\n<p>Voil\u00e0 ! Je peux enfin relancer mes analyses, le tout avec un environnement complet \u00e0 jour, depuis SonarQube, le SonarQube Runner et Jenkins.<\/p>\n<p>Dernier tuyau : si vous avez perdu la configuration d&rsquo;un job d&rsquo;analyse sous Jenkins, vous pouvez r\u00e9cup\u00e9rer celle-ci \u00e0 partir d&rsquo;un backup de votre r\u00e9f\u00e9rentiel Jenkins.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsJobConfigXML.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1404\" alt=\"JenkinsJobConfigXML\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsJobConfigXML.jpg\" width=\"412\" height=\"248\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsJobConfigXML.jpg 412w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsJobConfigXML-300x180.jpg 300w\" sizes=\"(max-width: 412px) 100vw, 412px\" \/><\/a>Dans celui-ci, les analyses sont localis\u00e9es dans le r\u00e9pertoire &lsquo;Jobs&rsquo;, avec un sous-r\u00e9pertoire pour chaque analyse. Dans lequel vous trouverez un fichier <strong>config.xml<\/strong> avec la configuration du job, comme par exemple les diff\u00e9rentes properties SonarQube indiqu\u00e9es en param\u00e8tres de l&rsquo;analyse.<\/p>\n<h2>Conclusion<\/h2>\n<p>Quelle est l&rsquo;origine des erreurs rencontr\u00e9es ? Je dois dire que je n&rsquo;ai pas cherch\u00e9 \u00e0 investiguer plus avant. Mais en conclusion, nous pouvons dire que :<\/p>\n<ul>\n<li>L&rsquo;installation du service Windows Jenkins \u00e0 partir d&rsquo;un fichier .war semble plus stable, m\u00eame si moins naturelle, qu&rsquo;\u00e0 partir d&rsquo;un ex\u00e9cutable d&rsquo;installation (type setup.exe).<\/li>\n<li>Si la configuration de SonarQube a disparu de la page de configuration de Jenkins, v\u00e9rifiez que vous avez bien le plugin &lsquo;Maven Int\u00e9gration&rsquo; install\u00e9. Ne me demandez pas pourquoi, je n&rsquo;utilise pas Maven.<\/li>\n<\/ul>\n<p>Dommage qu&rsquo;aucun message d&rsquo;erreur ne nous indique qu&rsquo;il n&rsquo;est pas possible d&rsquo;effectuer une analyse car Jenkins ne sait pas localiser SonarQube. Mais au moins maintenant, si cette erreur survient, nous saurons comment la corriger.<\/p>\n<p>Et enfin, nous avons vu \u00e9galement comment r\u00e9cup\u00e9rer la configuration Jenkins de nos jobs d&rsquo;analyse. Et notre environnement SonarQube est compl\u00e8tement. up-to-date. Cela valait bien un post !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&rsquo;ai mis \u00e0 jour ma version de SonarQube dans le post SonarQube Upgrade 4.0, ce qui nous a donn\u00e9 l&rsquo;opportunit\u00e9 de documenter quelques erreurs rencontr\u00e9es. J&rsquo;ai voulu updater \u00e9galement les autres composants que sont SonarQube-Runner et Jenkins et le Monsieur Jenkins m&rsquo;a caus\u00e9 quelques soucis. Donc ce post va nous permettre de voir un upgrade [&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-1379","post","type-post","status-publish","format-standard","hentry","category-sonar-installation"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/1379"}],"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=1379"}],"version-history":[{"count":27,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/1379\/revisions"}],"predecessor-version":[{"id":1413,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/1379\/revisions\/1413"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/media?parent=1379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/categories?post=1379"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/tags?post=1379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}