{"id":837,"date":"2013-12-01T09:40:28","date_gmt":"2013-12-01T08:40:28","guid":{"rendered":"http:\/\/qualilogy.com\/es\/?p=837"},"modified":"2013-12-01T15:00:57","modified_gmt":"2013-12-01T14:00:57","slug":"sonarqube-upgrade-4-0","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/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\" \/><\/a> El <a title=\"Sonar Upgrade\" href=\"http:\/\/qualilogy.com\/es\/sonarqube-upgrade2\/\" target=\"_blank\">\u00faltimo post sobre SonarQube<\/a> trataba de un upgrade de versi\u00f3n. Lamentablemente, me retras\u00e9 un poco cuando lo hice, por lo que ahora una nueva versi\u00f3n de SonarQube est\u00e1 disponible.<\/p>\n<p>Esta es una versi\u00f3n 4.0 (o sea mayor), que he instalado este fin de semana. Y como me di cuenta de algunos errores, esta es una oportunidad para actualizar el\u00a0<a title=\"Sonar Upgrade\" href=\"http:\/\/qualilogy.com\/es\/sonarqube-upgrade2\/\" target=\"_blank\">post SonarQube upgrade<\/a> y documentar estos errores y su resoluci\u00f3n.<\/p>\n<p>No voy a detallar todos los pasos de actualizaci\u00f3n como en el art\u00edculo anterior, sino simplemente precisar el porqu\u00e9 de estos mensajes y como arreglarlos.<\/p>\n<p><!--more--><\/p>\n<h2>SonarQube 4.0<\/h2>\n<h3>Pasos preliminares<\/h3>\n<p>Estos pasos son los siguientes:<\/p>\n<ul>\n<li>En primer lugar, comprobar que SonarQube no est\u00e1 activado. Si es el caso, detener el servicio Windows de 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\" \/><\/p>\n<ul>\n<li>Hacer un backup de la actual instalaci\u00f3n de SonarQube. Tambi\u00e9n hemos visto c\u00f3mo realizar un <a title=\"Backup Oracle\" href=\"http:\/\/qualilogy.com\/es\/sonarqube-upgrade1\/\" target=\"_blank\">backup de la base de datos Oracle<\/a>.<\/li>\n<li>Eliminar el servicio de Sonar existente. Esto lo hacemos con el archivo de desinstalaci\u00f3n &#8216;UninstallNTService.bat&#8217; que se encuentra en la carpeta correspondiente de nuestro sistema operativo en el directorio &#8216;..\\bin&#8217; de la versi\u00f3n actual de SonarQube.<\/li>\n<\/ul>\n<p>Nota: Intent\u00e9 hacerlo con cualquier archivo &#8216;UninstallNTService.bat&#8217; de otra versi\u00f3n, o de 32 o 64 bits, y funciona: se elimina el servicio Sonar.<\/p>\n<p>Luego voy a descargar la versi\u00f3n 4.0 SonarQube desde la <a href=\"http:\/\/www.sonarqube.org\/downloads\/\" target=\"_blank\">pagina de download de SonarSource<\/a>.<\/p>\n<h3>Instalaci\u00f3n SonarQube 4.0<\/h3>\n<p>Entonces, voy a proceder como siempre:<\/p>\n<ol>\n<li>Descomprimir la versi\u00f3n 4.0 SonarQube en su propio directorio.<\/li>\n<li>Copiar los archivos .jar de los plugins instalados (en la versi\u00f3n anterior) a la nueva versi\u00f3n en el directorio \u2018..\\sonar-4.0\\extensions\\plugins\u2019.<\/li>\n<li>Copiar el driver de la base de datos de Oracle &#8216;ojdbc6.jar&#8217; a su nuevo directorio\u00a0\u2018..\\sonar-4,0\\extensions\\jdbc-driver\\oracle\u2019 (sabes ya que utilizo una base de datos Oracle).<\/li>\n<li>Copar los archivos &#8216;sonar.properties\u2019 (de parametros de entorno) y \u2018wrapper.conf\u2019 en la nueva carpeta \u2018..\\sonar-4.0\\conf\u2019. <strong>Nota: si est\u00e1s siguiendo este post paso a paso, no hagas eso porque este paso es un error (ver m\u00e0s abajo)<\/strong>.<\/li>\n<li>Instalaci\u00f3n del nuevo servicio Sonar en versi\u00f3n 4.0 con el fichero \u2018InstallNTService.bat\u2019 en la carpeta \u2018sonar-4,0\\bin\\&#8217; y el sub-directorio correspondiente de tu versi\u00f3n de OS.<\/li>\n<\/ol>\n<p>Una vez realizadas estas operaciones, se puede iniciar el servicio Sonar &#8230; excepto que esto nos devuelve el siguiente mensaje de error:<\/p>\n<p><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\" \/><\/a><\/p>\n<p>Y en el fichero &#8216;sonar.log&#8217; encontramos este error: <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>He leido las Releases Notes de SonarSource, pero no he prestado atenci\u00f3n a la <a href=\"http:\/\/docs.codehaus.org\/display\/SONAR\/Upgrading\" target=\"_blank\">pagina de upgrade<\/a> que ha sido modificada, y que indica que ya no se debe copiar los archivos de configuraci\u00f3n como antes, pero actualizar directamente el fichero &#8216;sonar.properties&#8217;. As\u00ed que <strong>el paso 4 anterior era incorrecto<\/strong>.<\/p>\n<p>De hecho, no tuve que editar el archivo &#8216;wrapper.conf&#8217; sino simplemente actualizar el fichero &#8216;sonar.properties&#8217; con la direcci\u00f3n de mi base de datos Oracle. Cuidado al editar este archivo, a no cometer errores o introducir caracteres no v\u00e1lidos.<\/p>\n<p>Una vez que nuestra configuraci\u00f3n est\u00e1 realizada correctamente, podemos empezar el procedimiento de actualizaci\u00f3n SonarQube desde la pagina de &#8216;setup&#8217;, es decir &#8216;http:\/\/localhost:9000\/setup&#8217;.<\/p>\n<p>SonarQube necesita realizar una actualizaci\u00f3n de base de datos:<\/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\" \/><\/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\" \/><\/a>Activamos el b\u00f3ton &#8216;Upgrade&#8217; para lanzar el update. Pero acabo con el siguiente mensaje de error, que me hace pensar que tengo un problema con una versi\u00f3n antigua del plugin &#8216;Sqale&#8217;. <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\" \/><\/a><\/p>\n<h3>Update del plugin Sqale<\/h3>\n<p>Voy a buscar la pagina para <a href=\"http:\/\/www.sonarsource.com\/products\/plugins\/governance\/sqale\/downloads\/\" target=\"_blank\">este plugin en 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\" \/><\/a><\/p>\n<p>Efectivamente, hay una nueva versi\u00f3n de Sqale espec\u00edfica a la versi\u00f3n 4.0 de SonarQube. Pues voy a:<\/p>\n<ol>\n<li>Descargar el plugin en el directorio \u2018..\\sonar-4.0\\extensions\\plugins\u2019.<\/li>\n<li>Stop \/ Start el servicio Windows Sonar.<\/li>\n<li>De nuevo arrancar el setup de SonarQube: &#8216;http:\/\/localhost:9000\/setup&#8217;<\/li>\n<\/ol>\n<p>!Yes! La actualizaci\u00f3n se ha realizado correctamente.<\/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\" \/><\/a><\/p>\n<h3>Update de otros plugins<\/h3>\n<p>El ejemplo anterior nos ha ense\u00f1ado que a veces es necesario instalar una nueva versi\u00f3n de un plugin antes de instalar una nueva versi\u00f3n de SonarQube. Por eso se recomienda realizar los cambios de versi\u00f3n a trav\u00e9s del Update Center, como lo hemos visto en el\u00a0<a title=\"Sonar Upgrade\" href=\"http:\/\/qualilogy.com\/es\/sonarqube-upgrade2\/\" target=\"_blank\">post SonarQube upgrade<\/a>,<\/p>\n<p>Voy a seguir el mismo procedimiento:<\/p>\n<ol>\n<li>Connectarme como admin Sonar<\/li>\n<li>En el Update Center, activar el upgrade de los plugins que necesitan una actualizaci\u00f3n:<\/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\" \/><\/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\" \/><\/a>SonarQube lista los plugins que elegimos para un update.<\/p>\n<p>Podemos ver que la actualizaci\u00f3n de Java 1.4 a Java 1.5 resulta en un update de muchos plugins (findBugs, pmd, etc.)<\/p>\n<p>Una vez hemos activado la actualizaci\u00f3n de todos los plugins que lo necesitan, se puede realizar un Re-start del servicio Windows de Sonar y volver a 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\" \/><\/a>Si vamos de nuevo en el Update Center, podemos ver que nuestra instalaci\u00f3n de SonarQube est\u00e1 ahora en versi\u00f3n 4.0 con todos los plugins actualizados.<\/p>\n<p>Et voil\u00e1! Nos queda ahora descubrir qu\u00e9 hay de nuevo en esta versi\u00f3n 4.0 de SonarQube y probar estos nuevos plugins. Hasta luego para un nuevo post.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El \u00faltimo post sobre SonarQube trataba de un upgrade de versi\u00f3n. Lamentablemente, me retras\u00e9 un poco cuando lo hice, por lo que ahora una nueva versi\u00f3n de SonarQube est\u00e1 disponible. Esta es una versi\u00f3n 4.0 (o sea mayor), que he instalado este fin de semana. Y como me di cuenta de algunos errores, esta es [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-837","post","type-post","status-publish","format-standard","hentry","category-sonar-instalacion"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/837"}],"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=837"}],"version-history":[{"count":16,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/837\/revisions"}],"predecessor-version":[{"id":839,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/837\/revisions\/839"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=837"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}