{"id":121,"date":"2012-04-29T21:26:49","date_gmt":"2012-04-29T20:26:49","guid":{"rendered":"http:\/\/dev.qualilogy.com\/es\/?p=121"},"modified":"2013-01-05T08:53:37","modified_gmt":"2013-01-05T07:53:37","slug":"sonar-upgrade-4","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/sonar-upgrade-4\/","title":{"rendered":"Sonar Upgrade"},"content":{"rendered":"<p>Hac\u00e9 ya bastante tiempo que no habl\u00e9 de Sonar. He sido ocupado un poco recientemente descubriendo nuevos territorios (ver los posts <a title=\"Elasticit\u00e9 des applications\" href=\"http:\/\/qualilogy.com\/es\/elasticidad-del-codigo-22\" target=\"_blank\">Elasticidad del c\u00f3digo<\/a>, <a title=\"La qualit\u00e9 dans le Cloud\" href=\"http:\/\/qualilogy.com\/es\/la-calidad-en-el-cloud\" target=\"_blank\">La calidad en el Cloud<\/a>)  y me retras\u00e9 en poner al d\u00eda mi entorno Sonar. Por otra parte, hay una nueva versi\u00f3n 3.0 con un mont\u00f3n de novedades.<\/p>\n<p>As\u00ed que sin m\u00e1s pre\u00e1mbulos, ha llegado el momento para una actualizaci\u00f3n de S\u00f3nar.<\/p>\n<p><!--more--><\/p>\n<p>Que tengas en cuenta que esta es una actualizaci\u00f3n de todo nuestro entorno, no simplemente de una versi\u00f3n de Sonar, sino tambi\u00e9n de plugins desactualizados o para actualizar o a\u00f1adir nuevos plugins. Para tener una idea de mi configuraci\u00f3n Sonar, puedes ver este post <a title=\"Sonar Installation\" href=\"http:\/\/qualilogy.com\/code-analysis-tools\/sonar-environment\/?lang=fr\" target=\"_blank\">Sonar &#8211; Notre environnement<\/a>..<\/p>\n<p>Vamos pues a empezar a ver:<\/p>\n<ol>\n<li>Los plugins que queremos dejar: he probado unos plugins que necesitan una licencia que ha expirado. Voy a quitar esos plugins.<\/li>\n<li>Los plugins que queremos actualizar, con nueva versi\u00f3n.<\/li>\n<li>Los nuevos plugins que queremos instalar.<\/li>\n<\/ol>\n<h3><strong>Update Center<\/strong><\/h3>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/Sonar_Admin_Login.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1604\" title=\"Sonar_Admin_Login\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/Sonar_Admin_Login.jpg\" alt=\"\" width=\"163\" height=\"25\" \/><\/a>Para ello, vamos a visitar el Update Center: login admin \/ admin en Sonar.<\/p>\n<p><a><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1605\" title=\"Sonar_Admin_Login2\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/Sonar_Admin_Login2.jpg\" alt=\"\" width=\"260\" height=\"30\" \/><\/a><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/Sonar_Admin_UpdateCenter.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1609\" title=\"Sonar_Admin_UpdateCenter\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/Sonar_Admin_UpdateCenter.jpg\" alt=\"\" width=\"158\" height=\"181\" \/><\/a>Luego &#8216;Configuration&#8217; \/ &#8216;Update Center&#8217;&#8230;<\/p>\n<p>y en esta pantalla podemos ver:<\/p>\n<ul>\n<li>Los plugins instalados.<\/li>\n<li>Los plugins no instalados.<\/li>\n<li>Los plugins para cuales una nueva version es disponible.<\/li>\n<li>Toda(s) nueva(s) versi\u00f3n(es) de Sonar disponible(s).<\/li>\n<\/ul>\n<p>La pantalla siguiente muestra cuatro posibles actualizaciones de plugins, uno de los cuales (el plugin Views) es incompatible con la versi\u00f3n actual de Sonar y requerir\u00e1 previamente un upgrade de Sonar.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarPluginUpdate_11.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1619\" title=\"SonarPluginUpdate_1\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarPluginUpdate_11.jpg\" alt=\"\" width=\"1089\" height=\"298\" \/><\/a><\/p>\n<p>Por lo tanto la actualizaci\u00f3n de mi entorno consistir\u00e1 en:<\/p>\n<ol>\n<li>Desinstalacion de los plugins obsoletos.<\/li>\n<li>Upgrade de versi\u00f3n de plugins existentes.<\/li>\n<li>Upgrade de versi\u00f3n Sonar.<\/li>\n<li>Upgrage (post-upgrade Sonar) del plugin Views o a\u00f1adido de nuevos plugins.<\/li>\n<\/ol>\n<h3><strong>Supresi\u00f3n de plugins<\/strong><\/h3>\n<p>Para suprimir un plugin existente, seleccionarlo desde la pesta\u00f1a &#8216;Installed Plugins&#8217; para ver aparecer su descripci\u00f3n y un bot\u00f3n &#8216;Uninstall&#8217;.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarUninstallPlugin2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1621\" title=\"SonarUninstallPlugin2\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarUninstallPlugin2.jpg\" alt=\"\" width=\"457\" height=\"84\" \/><\/a>Puedes seleccionar varios plugins a desinstalar.<br \/>\nEs necesario arrancar de nuevo Sonar para actualizar el &#8216;Update Center&#8217;. En mi entorno, lo hago con un Stop \/ Start de Tomcat.<\/p>\n<p>Bueno, olvid\u00e9 hacer un backup de mi esquema Sonar en la base de datos Oracle. Aprovechemos que Tomcat est\u00e1 parado para hacerlo.<\/p>\n<h3><strong>Backup del esquema Oracle de Sonar<br \/>\n<\/strong><\/h3>\n<p>Hago los dumps de esquema en l\u00ednea de comandos, con un &#8216;export&#8217; Oracle y los parametros siguientes:<\/p>\n<ul>\n<li>file : el fichero dump ;<\/li>\n<li>log : un log para comprobar que el log est\u00e1 correcto;<\/li>\n<li>userid : los parametros de la conexi\u00f3n a mi instancia Oracle: user\/password@instance_Oracle (el nombre asignado a la base de datos Oracle).<\/li>\n<\/ul>\n<p>M\u00e1s sencillo no se puede.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/Exp_Sonar1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1624\" title=\"Exp_Sonar1\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/Exp_Sonar1.jpg\" alt=\"\" width=\"686\" height=\"117\" \/><\/a><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/Exp_Sonar2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1625\" title=\"Exp_Sonar2\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/Exp_Sonar2.jpg\" alt=\"\" width=\"686\" height=\"106\" \/><\/a>Una vez el export terminado sin &#8216;warnings&#8217;, puedo ver los ficheros .dmp y .log creados en el directorio de backup donde he ejecutado el &#8216;EXP&#8217;.<\/p>\n<p>Start de Tomcat y de vuelta en el Update Center : los plugins eliminados ya no aparecen m\u00e1s en la pesta\u00f1a &#8216;Installed Plugins&#8217;.<\/p>\n<h3><strong>Upgrade de plugins<\/strong><\/h3>\n<p>La actualizaci\u00f3n de plugins sigue el mismo modo operativo que el anterior.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarUpgradeJavascript1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1627\" title=\"SonarUpgradeJavascript1\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarUpgradeJavascript1.jpg\" alt=\"\" width=\"342\" height=\"58\" \/><\/a>En la pesta\u00f1a &#8216;Plugin Updates&#8217;, click en el bot\u00f3n de upgrade de versi\u00f3n para cada plugin que actualizar.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarUpgradePlugins1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1631\" title=\"SonarUpgradePlugins\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarUpgradePlugins1.jpg\" alt=\"\" width=\"421\" height=\"105\" \/><\/a>De nuevo, podemos actualizar diferentes versiones a la vez. Luego: Stop \/ Start de Tomcat para ver aparecer las nuevas versiones de plugins en el Update Center.<\/p>\n<p>Excepto el plugin Views que requiere un upgrade de versi\u00f3n Sonar. Lo que vamos a hacer ahora.<\/p>\n<h3><strong>Upgrade de versi\u00f3n Sonar<\/strong><\/h3>\n<p>El procedimiento de actualizaci\u00f3n es sencillo y l\u00f3gico, pero siempre voy a refrescar mi memoria con el manu <a title=\"Sonar upgrade guide\" href=\"http:\/\/docs.codehaus.org\/display\/SONAR\/Upgrade+guide\" target=\"_blank\">manual de upgrade<\/a>, para evitar olvidar alg\u00fan paso.<\/p>\n<p>Primero, descargar un zip de la versi\u00f3n Sonar 3.0 desde la pagina de <a title=\"Sonarsource downloads\" href=\"http:\/\/www.sonarsource.org\/downloads\/\" target=\"_blank\">download<\/a> y extraerlo en un nuevo directorio: &#8216;C:\\Soft\\Sonar\\sonar-3.0&#8217; en mi entorno.<\/p>\n<p>Luego recuperar los archivos espec\u00edficos a nuestro entorno desde la versi\u00f3n anterior (2.13.1 en mi m\u00e1quina) hacia la nueva versi\u00f3n:<\/p>\n<ol>\n<li>Copiar los ficheros &#8216;sonar.properties&#8217; (parametros de entorno) y &#8216;wrapper.conf&#8217; desde &#8216;C:\\Soft\\Sonar\\sonar-2.13.1\\conf&#8217; hacia &#8216;C:\\Soft\\Sonar\\sonar-3.0\\conf&#8217;.<\/li>\n<li>Copiar los ficheros .jar de plugins instalados desde &#8216;C:\\Soft\\Sonar\\sonar-2.13.1\\extensions\\plugins&#8217; hacia &#8216;C:\\Soft\\Sonar\\sonar-3.0\\extensions\\plugins&#8217;.<\/li>\n<li>Copiar el driver &#8216;C:\\Soft\\Sonar\\sonar-2.13.1\\extensions\\jdbc-driver\\oracle\\ojdbc6.jar&#8217; hacia el directorio &#8216;C:\\Soft\\Sonar\\sonar-3.0\\extensions\\jdbc-driver\\oracle&#8217; (seg\u00fan la base de datos que se utiliza).<\/li>\n<li>Construir un nuevo fichero .war de instalaci\u00f3n en Tomcat, para esta nueva versi\u00f3n Sonar. Para ello, ejecutar el fichero &#8216;C:\\Soft\\Sonar\\sonar-3.0\\war\\build-war.bat&#8217;, que crear\u00e1 en el mismo directorio, el archivo &#8216;sonar.war&#8217;.<\/li>\n<\/ol>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarBuildWar.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1638\" title=\"SonarBuildWar\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarBuildWar.jpg\" alt=\"\" width=\"686\" height=\"290\" \/><\/a>A continuaci\u00f3n, voy a instalar este archivo &#8216;sonar.war&#8217; en el servidor Tomcat.<\/p>\n<p>Nota: es mejor poner al d\u00eda su entorno con los plugins antes de instalar una nueva versi\u00f3n Sonar porque se recuperan los archivos .jar de estos plugins ya instalados (punto 2 anterior).<\/p>\n<p>Una vez reiniciado Tomcat, se puede encontrar el siguiente mensaje en Sonar:<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarMaintenance.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1640\" title=\"SonarMaintenance\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarMaintenance.jpg\" alt=\"\" width=\"772\" height=\"78\" \/><\/a>La primera vez, pens\u00e9 que se me hab\u00eda olvidado algo. Es por eso que siempre me refiero al procedimiento de actualizaci\u00f3n: hay un punto final para actualizar la base de datos, desde la pagina &#8216;setup&#8217; de Sonar. En mi entorno: http:\/\/localhost:8888\/sonar\/setup.<\/p>\n<h3><strong>Upgrade (post-upgrade Sonar) \/ nuevos plugins<\/strong><\/h3>\n<p>\u00bfTe recuerdas que la \u00faltima versi\u00f3n del plugin Views s\u00f3lo funciona con la versi\u00f3n 3.0 de Sonar?. Ahora que se ha instalado, podemos realizar esta actualizaci\u00f3n.<\/p>\n<p>Una vez m\u00e1s, tienes que iniciar una sesi\u00f3n de Administrator para acceder al Update Center y proceder en la pesta\u00f1a &#8216;Plugin Updates&#8217;:<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarPostUpgrade.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1642\" title=\"SonarPostUpgrade\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarPostUpgrade.jpg\" alt=\"\" width=\"787\" height=\"59\" \/><\/a>Tambi\u00e9n, en la pesta\u00f1a &#8216;Available Plugins&#8217;, voy a seleccionar nuevos plugins que a\u00f1adir: &#8216;XML&#8217;, &#8216;Violation density&#8217;, &#8216;Sonar Tab Metrics&#8217; por ejemplo.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarNewPlugins.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1644\" title=\"SonarNewPlugins\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarNewPlugins.jpg\" alt=\"\" width=\"463\" height=\"121\" \/><\/a>El proceso es el mismo que antes: Stop \/ Start de Tomcat.<\/p>\n<p>De vuelta en el Update Center, puedo comprobar ahora el upgrade del plugin Views y la instalaci\u00f3n de los nuevos plugins.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarPluginInstall.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1646\" title=\"SonarPluginInstall\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/04\/SonarPluginInstall.jpg\" alt=\"\" width=\"860\" height=\"184\" \/><\/a>Et voil\u00e0. Nos queda solamente lanzar un nuevo an\u00e1lisis de nuestros proyectos.<\/p>\n<p>Hemos visto todos los casos posibles de actualizaci\u00f3n de nuestro entorno: plugins eliminados, actualizar \/ a\u00f1adir plugins y actualizar la versi\u00f3n de Sonar.<\/p>\n<p>Puedes adaptar este procedimiento a tu propio entorno. Recuerdate siempre consultar la gu\u00eda de actualizaci\u00f3n y las &#8216;Release notes&#8217; de la versi\u00f3n.<\/p>\n<p>Que disfrutes de todas esas novedades.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hac\u00e9 ya bastante tiempo que no habl\u00e9 de Sonar. He sido ocupado un poco recientemente descubriendo nuevos territorios (ver los posts Elasticidad del c\u00f3digo, La calidad en el Cloud) y me retras\u00e9 en poner al d\u00eda mi entorno Sonar. Por otra parte, hay una nueva versi\u00f3n 3.0 con un mont\u00f3n de novedades. As\u00ed que sin [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-121","post","type-post","status-publish","format-standard","hentry","category-sonar-instalacion"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/121"}],"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=121"}],"version-history":[{"count":4,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/121\/revisions"}],"predecessor-version":[{"id":126,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/121\/revisions\/126"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=121"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}