{"id":856,"date":"2013-12-07T11:09:01","date_gmt":"2013-12-07T10:09:01","guid":{"rendered":"http:\/\/qualilogy.com\/es\/?p=856"},"modified":"2013-12-08T09:46:48","modified_gmt":"2013-12-08T08:46:48","slug":"upgrade-sonarqub-runner-jenkins","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/upgrade-sonarqub-runner-jenkins\/","title":{"rendered":"Upgrade SonarQube-Runner y 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>He actualizado mi version de SonarQube en el post anterior <a href=\"http:\/\/qualilogy.com\/es\/sonarqube-upgrade-4-0\/\" target=\"_blank\">SonarQube Upgrade 4.0<\/a>, lo que fue una oportunidad de documentar algunos errores encontrados.<\/p>\n<p>Tambi\u00e9n quer\u00eda actualizar otros componentes como SonarQube-Runner y Jenkins. Y resulta que el Sr. Jenkins me ha causado algunos problemas.<\/p>\n<p>As\u00ed que veamos en este post como hacer un upgrade a SonarQube-Runner y Jenkins, y como resolver (o evitar) los errores encontrados. <!--more--><\/p>\n<h2>Upgrade de Jenkins<\/h2>\n<p>Despu\u00e9s de completar la actualizaci\u00f3n de SonarQube en 4.0, por supuesto que fu\u00ed en el portal de Jenkins para realizar un an\u00e1lisis. Me di cuenta en ese momento de que hab\u00eda una nueva versi\u00f3n de Jenkins, por lo que decid\u00ed hacer tambi\u00e9n este upgrade.<\/p>\n<p>Pero esta vez, pens\u00e9 hacerlo de manera diferente de la <a href=\"http:\/\/qualilogy.com\/es\/migrar-jenkins-tomcat-a-servicio-windows\/\" target=\"_blank\">instalaci\u00f3n de servicio Windos de Jenkins<\/a>, es decir, sin emplear un ficher .war pero con un ejecutable de instalaci\u00f3n.<\/p>\n<p>Por lo tanto, vamos en <a title=\"La page d'accueil de Jenkins\" href=\"http:\/\/jenkins-ci.org\/\" target=\"_blank\">el sitio web de Jenkins<\/a> para descargar el <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>paquete Windows, en forma de un fichero comprimido &#8216;jenkins-1.541.zip&#8217;.<\/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>Una vez descomprimido, tenemos dos ficheros &#8216;setup.exe&#8217; y &#8216;jenkins-1.541.msi&#8217;.<\/p>\n<p>Primero voy a comprobar que mi actual servicio Jenkins est\u00e1 parado. Luego empiezo la instalaci\u00f3n &#8211; bueno, la actualizaci\u00f3n del servicio Jenkins &#8211; con el &#8216;setup.exe&#8217;. Pasamos por diferentes etapas : &#8216;Installing&#8217;, &#8216;Validating install&#8217;, &#8216;Starting service&#8217;, &#8230; sin entrar en los detailles.<\/p>\n<p>Yo s\u00e9 que el servicio ha sido actualizado por la buena raz\u00f3n que &#8230; no arrenca. De hecho, encontramos el mismo error de <a href=\"http:\/\/qualilogy.com\/es\/migrar-jenkins-tomcat-a-servicio-windows\/\" target=\"_blank\">instalaci\u00f3n del servicio Windows de Jenkins<\/a>, es decir que tengo que cambiar el usuario Windows para iniciar el servicio correctamente.<\/p>\n<p>Una vez hecho esto, el servicio de Jenkins arranca sin problema, pero es imposible visualizar el portal Jenkins en la direcci\u00f3n habitual <strong>http:\/\/localhost:8080\/<\/strong>. De hecho, veo una fuerte actividad de mi ordenador en la lista de tareas de Windows, un proceso de Java que necesita una gran cantidad de CPU, y eso continualmente.<\/p>\n<p>Esper\u00e9 pacientemente, reinici\u00e9 varias veces el servicio Jenkins, incluso mi equipo: pero el portal Jenkins no arranca. Finalmente, navegando en los diversos logs de Jenkins, he llegado a entender que faltaba una libraria (un archivo .jar) que prohib\u00eda el funcionamiento correcto de la webapp Jenkins. Y este trata de reiniciarse continuamente en un bucle sin f\u00edn y sin mensaje de fallo o de explicaci\u00f3n del problema.<\/p>\n<p>As\u00ed que termin\u00e9 de desinstalar la aplicaci\u00f3n Jenkins para luego reinstalar el servicio, usando el mismo procedimiento que en el post <a href=\"http:\/\/qualilogy.com\/es\/migrar-jenkins-tomcat-a-servicio-windows\/\" target=\"_blank\">instalaci\u00f3n de servicio Windos de Jenkins<\/a>, desde un archivo .war. Entonces no voy a repetir este procedimiento en detalle, sino simplemente recordar los pasos principales:<\/p>\n<p>Una vez instalado el servicio, tengo que cambiar el usuario de Windows con derechos suficientes para ejecutarlo . Este paso es espec\u00edfico para mi port\u00e1til, deber\u00eda ser opcional para una instalaci\u00f3n de servidor de Jenkins.<br \/>\nEntonces puedo cambiar la configuraci\u00f3n de Jenkins (archivo &#8216; jenkins.xml &#8216;) para hacer que apunte a mi repositorio actual , y recuperar todos los jobs de an\u00e1lisis existentes.<\/p>\n<p>Y, por \u00faltimo, puedo empezar Jenkins.<\/p>\n<ol>\n<li>Download del fichero &#8216;jenkins.war&#8217; desde <a title=\"La page d'accueil de Jenkins\" href=\"http:\/\/jenkins-ci.org\/\" target=\"_blank\">el sitio Jenkins.<\/a><\/li>\n<li>Arrancar Jenkins desde este fichero .war con el comando <strong>java -jar jenkins.war<\/strong> en una ventana DOS.<\/li>\n<li>En el portal Jenkins (url <strong>http:\/\/localhost:8080\/<\/strong>), men\u00fa &#8216;Manage Jenkins&#8217;, luego &#8216;Install as Windows service&#8217;.<\/li>\n<li>Una vez instalado el servicio, tengo que cambiar el usuario de Windows por uno con derechos suficientes para ejecutarlo. Este paso es espec\u00edfico para mi port\u00e1til, deber\u00eda ser opcional para una instalaci\u00f3n Jenkins en un servidor.<\/li>\n<li>Puedo cambiar la configuraci\u00f3n de Jenkins (en el archivo \u2018<strong>jenkins.xml<\/strong>\u2018) para hacer que apunte a mi repositorio actual, y recuperar todos los jobs de an\u00e1lisis existentes.<\/li>\n<\/ol>\n<p>Y finalmente, puedo arrancar Jenkins.<\/p>\n<h2>SonarQube falta en Jenkins<\/h2>\n<p>Ahora, cuando quiero ejecutar un an\u00e1lisis, no pasa nada. Voy a comprobar los plugins instalados y el plugin para SonarQube est\u00e1 presente en mi configuraci\u00f3n. Pero, cuando voy a la p\u00e1gina de configuraci\u00f3n de Jenkins (men\u00fa &#8216;Manage Jenkins&#8217;), la parte correspondiente a la <a href=\"http:\/\/qualilogy.com\/es\/sonarqube-servicio-windows-jenkins-tomcat\/\" target=\"_blank\">configuraci\u00f3n de SonarQube en Jenkins<\/a> est\u00e1 ausente.<\/p>\n<p>Pas\u00e9 un mont\u00f3n de tiempo y necesit\u00e9 varios intentos fallidos (incluyendo una re-instalaci\u00f3n del plugin SonarQube que result\u00f3 en la p\u00e9rdida de mis configuraciones de an\u00e1lisis) antes de descubrir el error. No s\u00e9 c\u00f3mo pudo ocurrir, si se deriva de la instalaci\u00f3n incorrecta de Jenkins con un paquete Windows nativo, o simplemente si resulta de una manipulaci\u00f3n de mi parte, pero es el plugin &#8216;Maven Integraci\u00f3n&#8217; ha sido deshabilitado. Como no soy un Maveniste, bien puede que lo deseleccion\u00e9 yo sin darme cuenta.<\/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\" \/><\/a><\/p>\n<p>Despu\u00e9s de reactivar el plugin, la configuraci\u00f3n de mi SonarQube en Jenkins regres\u00f3 como estaba al principio (v\u00e9r de nuevo los posts de i<a href=\"http:\/\/qualilogy.com\/es\/sonarqube-servicio-windows-jenkins-tomcat\/\" target=\"_blank\">nstalaci\u00f3n del servicio SonarQube<\/a> y la <a href=\"http:\/\/qualilogy.com\/es\/instalar-sonarqube-el-plugin-sonarqub-para-jenkins\/\" target=\"_blank\">instalaci\u00f3n del plugin\u00a0<\/a><a href=\"http:\/\/qualilogy.com\/es\/instalar-sonarqube-el-plugin-sonarqub-para-jenkins\/\" target=\"_blank\">SonarQube<\/a> para Jenkins).<\/p>\n<h2>Upgrade del SonarQube-Runner<\/h2>\n<p>La actualizaci\u00f3n del SonarQube Runner no ha sido un problema. As\u00ed que de nuevo, voy a presentar los pasos principales\u00a0(para m\u00e1s detalles, se puede ver el post de <a href=\"http:\/\/qualilogy.com\/es\/instalar-sonarqube-el-plugin-sonarqub-para-jenkins\/\" target=\"_blank\">instalaci\u00f3nn de SonarQube-Runner<\/a>):<\/p>\n<ol>\n<li>Descargar el fichero de instalaci\u00f3n del SonarQube Runner desde la pagina <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 la versi\u00f3n 2.3 en mi caso.<\/li>\n<li>Descomprimir el fichero .zip en una carpeta \u2018sonar-runner-2.3\u2019.<\/li>\n<li>Modifcar el fichero de configuraci\u00f3n &#8216;sonar-runner.properties&#8217; para indicar la ubicaci\u00f3n de SonarQube y nuestra base de datos de 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>En Jenkins, volvemos en la pagina de configuraci\u00f3n (men\u00fa &#8216;Manage Jenkins&#8217;) en la parte del &#8216;SonarQube-Runner&#8217; para precisar donde se encuentra esta nueva versi\u00f3n.<\/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\" \/><\/a><\/p>\n<p>Voil\u00e0 ! Por fin puedo volver a mis an\u00e1lisis, con un entorno completamente up-to-date, SonarQube, SonarQube Runner y Jenkins.<\/p>\n<p>Por \u00faltimo consejo: si una vez pierdes la configuraci\u00f3n de un job de an\u00e1lisis en Jenkins, puedes recuperarlo desde un backup de tu repositorio 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\" \/><\/a>En esta\u00a0copia de seguridad, los an\u00e1lisis est\u00e1n localisados en la carpeta &#8216;Jobs&#8217;, con un sub-directorio por cada an\u00e1lisis. Ahi encontrar\u00e1s un fichero <strong>config.xml<\/strong> con la configuraci\u00f3n del job, como por ejemplo, los diferentes properties SonarQube en parametro del an\u00e1lisis.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>\u00bfCu\u00e1l es el origen de los errores encontrados? Debo decir que no intent\u00e9 investigar m\u00e1s a fondo. Pero en conclusi\u00f3n, sabemos que:<\/p>\n<ul>\n<li>Instalar el servicio Windows de Jenkins parece m\u00e1s estable con un archivo .war, aunque menos natural que desde un ejecutable de instalaci\u00f3n (tipo setup.exe).<\/li>\n<li>Si la configuraci\u00f3n de SonarQube desaparece de la p\u00e1gina de configuraci\u00f3n de Jenkins, comprobar que tenemos el plugin &#8216;Maven Integration&#8217; instalado. No me preguntes por qu\u00e9, yo no uso Maven.<\/li>\n<\/ul>\n<p>L\u00e1stima no tener un mensaje de error que nos dice que es imposible llevar a cabo un an\u00e1lisis porque Jenkins no sabe localizar a SonarQube. Pero por lo menos ahora, si se produce este error, sabemos c\u00f3mo corregirlo.<\/p>\n<p>Y, por \u00faltimo, tambi\u00e9n hemos visto c\u00f3mo recuperar la configuraci\u00f3n Jenkins de nuestros an\u00e1lisis. Y nuestro entorno SonarQube es completo, up-to-date y operacional. Eso bien vale un post!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>He actualizado mi version de SonarQube en el post anterior SonarQube Upgrade 4.0, lo que fue una oportunidad de documentar algunos errores encontrados. Tambi\u00e9n quer\u00eda actualizar otros componentes como SonarQube-Runner y Jenkins. Y resulta que el Sr. Jenkins me ha causado algunos problemas. As\u00ed que veamos en este post como hacer un upgrade a SonarQube-Runner [&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-856","post","type-post","status-publish","format-standard","hentry","category-sonar-instalacion"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/856"}],"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=856"}],"version-history":[{"count":20,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/856\/revisions"}],"predecessor-version":[{"id":876,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/856\/revisions\/876"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=856"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}