{"id":899,"date":"2013-12-26T11:30:48","date_gmt":"2013-12-26T10:30:48","guid":{"rendered":"http:\/\/qualilogy.com\/es\/?p=899"},"modified":"2013-12-26T14:33:28","modified_gmt":"2013-12-26T13:33:28","slug":"analisis-plsql-sonarqube-configuracion","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/analisis-plsql-sonarqube-configuracion\/","title":{"rendered":"An\u00e1lisis PL\/SQL con SonarQube &#8211; Configuraci\u00f3n"},"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\" \/><\/a>Hemos visto en el primero post de esta serie acerca de an\u00e1lisis de c\u00f3digo PL\/SQL con SonarQube, c\u00f3mo <a href=\"http:\/\/qualilogy.com\/es\/analisis-plsql-sonarqube-organizacion\/\" target=\"_blank\">he organizado mi entorno de an\u00e1lisis<\/a>, con:<\/p>\n<ul>\n<li>una carpeta &#8216;C:\\SRC\\&#8217; con todos mis proyectos,<\/li>\n<li>un subdirectorio por cada proyecto,<\/li>\n<li>y luego diferentes otras carpetas, incluyendo un directorio \u2018..\\Source\u2019 donde localizamos el c\u00f3digo que analizar.<\/li>\n<\/ul>\n<p>Entonces, para nuestro an\u00e1lisis PL\/SQL, el c\u00f3digo se encontrara en la carpeta \u2019C:\\SRC\\Demo\\PLSQL\\Source\u2019.<\/p>\n<p>Vamos a ver ahora c\u00f3mo crear y configurar un an\u00e1lisis SonarQube de este c\u00f3digo PL\/SQL, con Jenkins.<!--more--><\/p>\n<h2>Creaci\u00f3n del job Jenkins<\/h2>\n<p><span id=\"result_box\" lang=\"es\"><span class=\"hps\">Voy a presentar<\/span> <span class=\"hps\">estos pasos<\/span> <span class=\"hps\">con precisi\u00f3n<\/span> <span class=\"hps\">pero sin<\/span> <span class=\"hps\">detalles o<\/span> <span class=\"hps\">comentarios<\/span> <span class=\"hps\">porque hemos hecho<\/span> <span class=\"hps\">esto muchas veces.<\/span><br \/>\n<\/span><\/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> Por supuesto, tenemos primero que asegurarnos de que los servicios (Windows) Sonar y Jenkins est\u00e1n iniciados. Luego, lanzamos Jenkins, y en la p\u00e1gina principal, se activar\u00e1 el enlace &#8216;New 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\" \/><\/a><\/p>\n<p>En la pagina de creaci\u00f3n del nuevo proyecto, seleccionamos la opci\u00f3n \u2018Build a free-style software project\u2019 (o la opci\u00f3n correspondiente seg\u00fan el idioma que se utiliza con Jenkins).<\/p>\n<p>Ponemos un nombre a este nuevo proyecto. Nota: no se puede utilizar un nombre de un job existente.<\/p>\n<p>Otra manera de proceder ser\u00eda elegir la opci\u00f3n \u2018Copy existing Job\u2019 para recuperar la configuraci\u00f3n de un job, y cambiar solamente los par\u00e1metros que nos interesan.<\/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>En la pagina de configuraci\u00f3n (\u2018Jenkins &gt; PLSQL_Demo &gt; configuration\u2019 en nuestro ejemplo), seleccionamos un \u2018Build step\u2019 (paso de ejecuci\u00f3n del job) que consiste en un an\u00e1lisis Sonar.<\/p>\n<p>Voy a definir en esta p\u00e1gina todos los par\u00e1metros necesarios para el an\u00e1lisis de nuestro c\u00f3digo PL\/SQL con 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\" \/><\/a><\/p>\n<p>No voy a entrar en detalles, ya hemos visto en el pasado varios ejemplos de configuraci\u00f3n de an\u00e1lisis. Simplemente podemos ver:<\/p>\n<ul>\n<li>Los par\u00e1metros obligatorios: clave y nombre del proyecto, y versi\u00f3n. Puedo cambiar el n\u00famero de versi\u00f3n f\u00e1cilmente en Jenkins.<\/li>\n<li>La carpeta para nuestro proyecto: \u2019C:\\SRC\\Demo\\PLSQL\u2019, y dentro de esta, el subdirectorio con el c\u00f3digo fuente que analizar.<\/li>\n<li>Y claro, la tecnolog\u00eda correspondiente de este c\u00f3digo, para que SonarQube sepa cual plugin de &#8216;language&#8217; utilizar.<\/li>\n<\/ul>\n<p>La pagina <a href=\"http:\/\/docs.codehaus.org\/display\/SONAR\/SonarQube+Project+Examples\" target=\"_blank\">http:\/\/docs.codehaus.org\/display\/SONAR\/SonarQube+Project+Examples<\/a> en el sitio Web de SonarSource permite descargar diferentes ejemplos de an\u00e1lisis con diferentes &#8216;sonar-project.properties&#8217; para diferentes tecnolog\u00edas, y no olvidarse de un par\u00e1metro importante.<\/p>\n<p>Eso es todo. Guardamos la configuraci\u00f3n de nuestro job, lo ponemos en marcha &#8230; y no tenemos m\u00e1s que hacer para ir a ver los resultados en SonarQube.<\/p>\n<p>Lo que haremos en nuestro pr\u00f3ximo post.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hemos visto en el primero post de esta serie acerca de an\u00e1lisis de c\u00f3digo PL\/SQL con SonarQube, c\u00f3mo he organizado mi entorno de an\u00e1lisis, con: una carpeta &#8216;C:\\SRC\\&#8217; con todos mis proyectos, un subdirectorio por cada proyecto, y luego diferentes otras carpetas, incluyendo un directorio \u2018..\\Source\u2019 donde localizamos el c\u00f3digo que analizar. Entonces, para nuestro [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-899","post","type-post","status-publish","format-standard","hentry","category-sonarqube-plsql"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/899"}],"collection":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/comments?post=899"}],"version-history":[{"count":11,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/899\/revisions"}],"predecessor-version":[{"id":902,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/899\/revisions\/902"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=899"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}