{"id":696,"date":"2013-09-08T16:40:24","date_gmt":"2013-09-08T15:40:24","guid":{"rendered":"http:\/\/qualilogy.com\/es\/?p=696"},"modified":"2013-09-08T17:57:44","modified_gmt":"2013-09-08T16:57:44","slug":"migrar-sonarqube-tomcat-a-servicio-windows","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/migrar-sonarqube-tomcat-a-servicio-windows\/","title":{"rendered":"Migrar SonarQube de Tomcat a un servicio Windows"},"content":{"rendered":"<p><a href=\"http:\/\/vicken.deviantart.com\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft  wp-image-1078\" alt=\"SonarQubeService\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/SonarQubeService.jpg\" width=\"315\" height=\"473\" \/><\/a><\/p>\n<p>Como ya mencionado, SonarQube no estar\u00e1 m\u00e1s disponible para Tomcat, pero s\u00f3lo como un servicio de Windows. Eso significa que voy a tener que migrar mi plataforma SonarQube \/ Jenkins.<\/p>\n<p>Pues hay algunas preguntas: \u00bfVoy a perder mi configuraci\u00f3n? \u00bfY mi an\u00e1lisis? SonarQube utiliza una base de datos para almacenar los resultados de los an\u00e1lisis, por lo que se puede esperar mantenerlos y su historia.<\/p>\n<p>Pero \u00bfQu\u00e9 pasa con la configuraci\u00f3n de mi SonarQube? \u00bfVoy a tener que volver a instalar mis plugins? Maldita sea \u00bfd\u00f3nde puse las llaves de licencia para estos plugins? Y mis Quality Profiles? \u00bfSe almacenan en la base de datos o en alg\u00fan archivo?<\/p>\n<p>\u00bfEn qu\u00e9 orden debo hacer esta migraci\u00f3n: primero Jenkins y a continuaci\u00f3n comprobar si el es todav\u00eda capaz de reconocer SonarQube y seguir con los proyectos existentes? De hecho, voy a empezar por SonarQube porque es mucho m\u00e1s sencillo que Jenkins.<\/p>\n<p>Luego veremos como migrar tambi\u00e9n a Jenkins, para finalmente deshacernos de Tomcat.<\/p>\n<h2>Migrar SonarQube a un servicio Windows<\/h2>\n<h3>Objetivos<\/h3>\n<p>Primero, mi versi\u00f3n actual de SonarQube es una 3.5.1. Hay una nueva versi\u00f3n 3.7 &#8230; en el momento en que escribo este post, ya que cambia muy r\u00e1pidamente. El team SonarSource es altamente productivo. Esta \u00faltima versi\u00f3n tiene muchas nuevas caracter\u00edsticas, pero ser\u00e1 objeto de futuros posts.<\/p>\n<p>Tambi\u00e9n ser\u00e1 una oportunidad para comprobar c\u00f3mo actualizar una versi\u00f3n SonarQube instalada como un servicio. Si te interesa el tema, hemos visto c\u00f3mo llevar a cabo dicha actualizaci\u00f3n en este post:\u00a0<a style=\"line-height: 1.714285714;font-size: 1rem\" title=\"Upgrade Sonar\" href=\"http:\/\/qualilogy.com\/es\/sonar-upgrade-4\/\" target=\"_blank\">Sonar Upgrade<\/a>.<\/p>\n<p>Tambi\u00e9n voy a limitarme a una migraci\u00f3n SonarQube en este post, es decir a una instalaci\u00f3n como un servicio Windows y asegurarme de que puedo seguir trabajando con mi repositorio existente: mi cuadro de mando, mis an\u00e1lisis, mi configuraci\u00f3n, etc. Veremos en el pr\u00f3ximo post los cambios que realizar en mi actual Jenkins (bajo Tomcat) para trabajar con mi nuevo servicio SonarQube.<\/p>\n<h3>Documentaci\u00f3n<\/h3>\n<p>Como todo buen inform\u00e1tico (hum, hum), nunca leo la documentaci\u00f3n, y menos las de instalaci\u00f3n. Me parece muy poco natural que un software no sepa instalarse solo (sabes, &#8216;Next&#8217;, &#8216;Next&#8217;, &#8216;Next&#8217;, &#8230;) y requiere primero de leer un manual de instalaci\u00f3n. Sin embargo, ya que no aconsejo hacer lo mismo, aqu\u00ed est\u00e1 el enlace en el sitio SonarSource:\u00a0<a title=\"Documentation SonarSource\" href=\"http:\/\/docs.codehaus.org\/display\/SONAR\/Running+SonarQube+as+a+Service+on+Windows\" target=\"_blank\">http:\/\/docs.codehaus.org\/display\/SONAR\/Running+SonarQube+as+a+Service+on+Windows<\/a>.<\/p>\n<p>Bueno, parece super-sencillo:<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_InstallWinService.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1088\" alt=\"Sonar_InstallWinService\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_InstallWinService.jpg\" width=\"526\" height=\"102\" \/><\/a><\/p>\n<h3>Instalaci\u00f3n<\/h3>\n<p>Primero voy a para\u00a0Tomcat para asegurarme de no trabajar con mi actual SonarQube (una webapp de Tomcat).<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Stop_Tomcat.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1089\" alt=\"Stop_Tomcat\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Stop_Tomcat.jpg\" width=\"478\" height=\"92\" \/><\/a><\/p>\n<p>Luego, me pongo en una ventana DOS para ir al directorio de mi instalaci\u00f3n SonarQube.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_Bin.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1090\" alt=\"Sonar_Bin\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_Bin.jpg\" width=\"679\" height=\"344\" \/><\/a><\/p>\n<p>Mi versi\u00f3n actual es una 3.5.1.\u00a0En la carpeta \\sonar-3.5.1\\bin, puedo encontrar dos sub-directorios \u2018windows-x86-32\u2019 y \u2018windows-x86-64\u2019, este ultimo para una instalaci\u00f3n Windows 64 bits.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_InstallWinService2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1091\" alt=\"Sonar_InstallWinService2\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_InstallWinService2.jpg\" width=\"272\" height=\"126\" \/><\/a><\/p>\n<p>No entrar\u00e9 en los detalles de lo que hace este programa .bat. Vamos a seguir la recomendaci\u00f3n de la documentaci\u00f3n y ejecutar este programa como Administrador.<\/p>\n<p>Es muy r\u00e1pido. En la ventana de Servicios Windows, podemos comprobar que aparece el servicio SonarQube.<\/p>\n<p><a style=\"line-height: 1.714285714;font-size: 1rem\" href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_Service.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1092\" alt=\"Sonar_Service\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_Service.jpg\" width=\"537\" height=\"48\" \/><\/a><\/p>\n<p>Se puede lanzar este servicio con un\u00a0&#8216;Start&#8217; en esta ventana, o desde el fichero &#8216;startNTService&#8217; en la carpeta anterior, en la ventana DOS:<\/p>\n<p><a style=\"line-height: 1.714285714;font-size: 1rem\" href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/sonar_Runservice1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1095\" alt=\"sonar_Runservice1\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/sonar_Runservice1.jpg\" width=\"679\" height=\"120\" \/><\/a><\/p>\n<p>Pero me sale el siguiente mensaje de error:<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceLaunchError.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1096\" alt=\"Sonar_ServiceLaunchError\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceLaunchError.jpg\" width=\"684\" height=\"119\" \/><\/a><\/p>\n<p>Lo mismo si intento hacer un &#8216;Start&#8217; del servicio SonarQube:<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceLaunchError2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1097\" alt=\"Sonar_ServiceLaunchError2\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceLaunchError2.jpg\" width=\"446\" height=\"184\" \/><\/a><\/p>\n<p><a style=\"line-height: 1.714285714;font-size: 1rem\" href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1098\" alt=\"Sonar_ServiceProp1\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp1.jpg\" width=\"214\" height=\"237\" \/><\/a><\/p>\n<p>Ahora, si abrimos las &#8216;Properties&#8217; del servicio (click derecha en el servicio para conseguir el men\u00fa siguiente)\u2026<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u2026y poder entrar en la pesta\u00f1a &#8216;Log On&#8217;.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1100\" alt=\"Sonar_ServiceProp2\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp2.jpg\" width=\"428\" height=\"183\" \/><\/a><\/p>\n<p>Seleccionar \u2018This account\u2019, luego activar el bot\u00f3n \u2018Browse&#8230;\u2019 :<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1103\" alt=\"Sonar_ServiceProp3\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp3.jpg\" width=\"427\" height=\"264\" \/><\/a><\/p>\n<p>En la siguiente ventana, activar el bot\u00f3n &#8216;Advanced&#8230;&#8217;.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp4a.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1104\" alt=\"Sonar_ServiceProp4a\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp4a.jpg\" width=\"471\" height=\"257\" \/><\/a><\/p>\n<p>Y &#8216;Find Now&#8217;\u00a0para conseguir la lista de los usuarios para conectarse (Log On) y lanzar el servicio.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1105\" alt=\"Sonar_ServiceProp4\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp4.jpg\" width=\"538\" height=\"523\" \/><\/a><\/p>\n<p>Voy a seleccionar mi usuario Windows con cual encendi\u00f3 mi maquina:<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1106\" alt=\"Sonar_ServiceProp5\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp5.jpg\" width=\"286\" height=\"145\" \/><\/a><\/p>\n<p>Validar con el bot\u00f3n &#8216;OK&#8217;. Puedes notar el nombre de mi maquina (JPFPC).<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp6.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1107\" alt=\"Sonar_ServiceProp6\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/Sonar_ServiceProp6.jpg\" width=\"475\" height=\"259\" \/><\/a><\/p>\n<p>&#8216;OK&#8217; de nuevo para regresar en la pesta\u00f1a &#8216;Log On&#8217;, en la cual podemos entrar la contrase\u00f1a de mi usuario. Bot\u00f3n\u00a0&#8216;Apply&#8217; y luego &#8216;OK&#8217; para salir de la ventana Properties.<\/p>\n<p>Si ahora lanzamos de nuevo el servicio SonarQube &#8230; \u00a1Yes! El mensaje de error ha desaparecido y el servicio est\u00e1 en el estado &#8216;Started&#8217;.<\/p>\n<h3>Verificaci\u00f3n<\/h3>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/SonarQubeURL.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1109\" alt=\"SonarQubeURL\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2013\/09\/SonarQubeURL.jpg\" width=\"395\" height=\"143\" \/><\/a><\/p>\n<p>El nuevo dashboard SonarQube &#8211; como servicio Windows &#8211; es disponible en la direcci\u00f3n\u00a0<strong>localhost:9000<\/strong>. Entrar esta url en el navegardor para ver aparecer el dashboard tal como lo hemos dejado.<\/p>\n<p>Puedes comprobar: tus an\u00e1lisis est\u00e1n presentes, los plugins tambi\u00e9n y activos (no hay necesidad de volver a introducir la licencia). Toda tu configuraci\u00f3n SonarQube tal como era\u00a0en Tomcat, todos tus proyectos, bueno, el \u00a0repositorio SonarQube completo est\u00e1 disponible y listo para su uso.<\/p>\n<p>Nos queda por realizar un an\u00e1lisis de nuestro actual Jenkins en Tomcat..<\/p>\n<p>Lo que veremos en el pr\u00f3ximo post. Hasta luego.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como ya mencionado, SonarQube no estar\u00e1 m\u00e1s disponible para Tomcat, pero s\u00f3lo como un servicio de Windows. Eso significa que voy a tener que migrar mi plataforma SonarQube \/ Jenkins. Pues hay algunas preguntas: \u00bfVoy a perder mi configuraci\u00f3n? \u00bfY mi an\u00e1lisis? SonarQube utiliza una base de datos para almacenar los resultados de los an\u00e1lisis, [&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-696","post","type-post","status-publish","format-standard","hentry","category-sonar-instalacion"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/696"}],"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=696"}],"version-history":[{"count":9,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/696\/revisions"}],"predecessor-version":[{"id":699,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/696\/revisions\/699"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=696"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}