{"id":1432,"date":"2013-12-26T11:30:16","date_gmt":"2013-12-26T10:30:16","guid":{"rendered":"http:\/\/qualilogy.com\/fr\/?p=1432"},"modified":"2013-12-26T14:31:52","modified_gmt":"2013-12-26T13:31:52","slug":"analyse-plsql-sonarqube-configuration","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/fr\/analyse-plsql-sonarqube-configuration\/","title":{"rendered":"Analyse PL\/SQL avec SonarQube &#8211; Configuration"},"content":{"rendered":"<p><a href=\"http:\/\/500px.com\/Vicken\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1439\" alt=\"SonarQubePLSQL2\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/SonarQubePLSQL21.jpg\" width=\"299\" height=\"450\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/SonarQubePLSQL21.jpg 299w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/SonarQubePLSQL21-199x300.jpg 199w\" sizes=\"(max-width: 299px) 100vw, 299px\" \/><\/a>Nous avons vu, dans le premier post de cette s\u00e9rie sur l&rsquo;analyse de code PL\/SQL avec SonarQube, comment <a href=\"http:\/\/qualilogy.com\/fr\/analyse-plsql-sonarqube-organisation\/\" target=\"_blank\">j\u2019organise mon environnement d\u2019analyse<\/a>, avec :<\/p>\n<ul>\n<li>un dossier C:\\SRC\\ contenant tous les projets,<\/li>\n<li>un sous-r\u00e9pertoire d\u00e9di\u00e9 au projet,<\/li>\n<li>diff\u00e9rents sous-r\u00e9pertoires dont un \u2018..\\Source\u2019 avec le code source \u00e0 analyser.<\/li>\n<\/ul>\n<p>Dans le cas de notre analyse PL\/SQL, ce code se trouvera donc dans un dossier \u2019C:\\SRC\\Demo\\PLSQL\\Source\u2019.<\/p>\n<p>Voyons maintenant comment cr\u00e9er et configurer une analyse SonarQube de ce code, avec Jenkins. <!--more--><\/p>\n<h2>Cr\u00e9ation du job Jenkins<\/h2>\n<p>Je vais pr\u00e9senter ces \u00e9tapes de mani\u00e8re pr\u00e9cise mais sans les d\u00e9tailler ou les commenter car nous avons d\u00e9j\u00e0 r\u00e9alis\u00e9 cette op\u00e9ration maintes fois.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsNewJob.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1445\" alt=\"JenkinsNewJob\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsNewJob.jpg\" width=\"153\" height=\"120\" \/><\/a> Je vais bien s\u00fbr comment par m\u2019assurer que les services (Windows) Sonar et Jenkins sont bien d\u00e9marr\u00e9s. Je lance ensuite Jenkins, et dans la page principale, nous allons activer le lien \u2018New Job\u2019.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsNewJob1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1446\" alt=\"JenkinsNewJob1\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsNewJob1.jpg\" width=\"307\" height=\"106\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsNewJob1.jpg 307w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsNewJob1-300x103.jpg 300w\" sizes=\"(max-width: 307px) 100vw, 307px\" \/><\/a><\/p>\n<p>Dans la page de cr\u00e9ation du nouveau projet, nous allons s\u00e9lectionner \u2018Build a free-style software project\u2019 (ou l\u2019option correspondante en fonction du langage que vous utilisez avec Jenkins).<\/p>\n<p>Nous entrons le nom du nouveau projet. Notez que vous ne pouvez pas utiliser un nom de job existant.<\/p>\n<p>Une autre mani\u00e8re de proc\u00e9der serait de choisir l\u2019option \u2018Copy existing Job\u2019 afin de r\u00e9cup\u00e9rer la configuration d\u2019un job existant, et n\u2019avoir \u00e0 changer que les param\u00e8tres qui nous int\u00e9ressent.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsAddSonar1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1458\" alt=\"JenkinsAddSonar\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/JenkinsAddSonar1.jpg\" width=\"298\" height=\"131\" \/><\/a>Dans la page de configuration du projet (\u2018Jenkins &gt; PLSQL_Demo &gt; configuration\u2019 dans notre exemple), nous allons choisir un unique \u2018Build step\u2019 (\u00e9tape d\u2019ex\u00e9cution du job) qui consistera en une analyse Sonar.<\/p>\n<p>Je vais d\u00e9finir dans cette page tous les param\u00e8tres n\u00e9cessaires \u00e0 l&rsquo;analyse de notre code PL\/SQL avec SonarQube.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/SonarPLSQLConfiguration.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1450\" alt=\"SonarPLSQLConfiguration\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/SonarPLSQLConfiguration.jpg\" width=\"584\" height=\"305\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/SonarPLSQLConfiguration.jpg 584w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/12\/SonarPLSQLConfiguration-300x156.jpg 300w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>Je ne vais pas rentrer dans les d\u00e9tails : nous avons d\u00e9j\u00e0 vu par le pass\u00e9 plusieurs exemples de configuration d&rsquo;analyse. Notons simplement :<\/p>\n<ul>\n<li>Les param\u00e8tres obligatoires : cl\u00e9 et nom de projet, ainsi que sa version. Je pourrai modifier celle-ci facilement depuis Jenkins.<\/li>\n<li>Le r\u00e9pertoire avec les diff\u00e9rents dossiers pour notre projet : \u2019C:\\SRC\\Demo\\PLSQL\u2019, et au sein de celui-ci, le sous-r\u00e9pertoire avec le code source \u00e0 analyser.<\/li>\n<li>Evidemment, la technologie \u00e0 utiliser, afin que SonarQube connaisse quel plugin &lsquo;language&rsquo; utiliser.<\/li>\n<\/ul>\n<p>La page <a href=\"http:\/\/docs.codehaus.org\/display\/SONAR\/SonarQube+Project+Examples\" target=\"_blank\">http:\/\/docs.codehaus.org\/display\/SONAR\/SonarQube+Project+Examples<\/a> sur le site SonarSource vous permettra de r\u00e9cup\u00e9rer diff\u00e9rents exemples de fichiers &lsquo;sonar-project.properties&rsquo; pour diff\u00e9rentes technologies, et \u00e9viter ainsi d&rsquo;oublier un param\u00e8tre important.<\/p>\n<p>Voil\u00e0. Nous sauvons la configuration de notre job, nous lan\u00e7ons celui-ci &#8230; et il ne nous reste plus qu&rsquo;\u00e0 aller regarder les r\u00e9sultats dans SonarQube.<\/p>\n<p>Ce que nous ferons dans notre prochain post.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nous avons vu, dans le premier post de cette s\u00e9rie sur l&rsquo;analyse de code PL\/SQL avec SonarQube, comment j\u2019organise mon environnement d\u2019analyse, avec : un dossier C:\\SRC\\ contenant tous les projets, un sous-r\u00e9pertoire d\u00e9di\u00e9 au projet, diff\u00e9rents sous-r\u00e9pertoires dont un \u2018..\\Source\u2019 avec le code source \u00e0 analyser. Dans le cas de notre analyse PL\/SQL, ce [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-1432","post","type-post","status-publish","format-standard","hentry","category-sonarqube-plsql"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/1432"}],"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=1432"}],"version-history":[{"count":24,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/1432\/revisions"}],"predecessor-version":[{"id":1436,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/1432\/revisions\/1436"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/media?parent=1432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/categories?post=1432"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/tags?post=1432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}