{"id":4856,"date":"2021-07-03T09:00:00","date_gmt":"2021-07-03T07:00:00","guid":{"rendered":"https:\/\/wata.es\/?p=4856"},"modified":"2026-01-30T10:07:55","modified_gmt":"2026-01-30T09:07:55","slug":"sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd","status":"publish","type":"post","link":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/","title":{"rendered":"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\/CD"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En art\u00edculos anteriores hemos visto diversos procesos de&nbsp;testing&nbsp;que nos permiten&nbsp;garantizar la calidad y correcci\u00f3n del producto final&nbsp;que debemos entregar. En este art\u00edculo vamos a hablar de SonarQube, una herramienta que nos permite <strong>garantizar tambi\u00e9n la calidad a nivel interno<\/strong>.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Es decir, conseguiremos controlar si el proceso de desarrollo, la arquitectura empleada o los algoritmos empleados siguen una estructura adecuada, un patr\u00f3n que nos permita un f\u00e1cil mantenimiento del producto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 es <strong>SonarQube<\/strong>?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube es una de las herramientas m\u00e1s usadas para <strong>revisar c\u00f3digo, detectar bugs, vulnerabilidades y otros problemas dentro de&nbsp;nuestro proyecto<\/strong>.&nbsp;Permite el an\u00e1lisis de c\u00f3digo que se encuentre escrito en los principales lenguajes de programaci\u00f3n (Java, PHP, JavaScript, C#, HTML, etc.).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube se integra como un fichero m\u00e1s dentro del proyecto a analizar y, si el pipeline en el que se lanzan&nbsp;las tareas est\u00e1 correctamente configurado, <strong>la inspecci\u00f3n del c\u00f3digo se har\u00e1 autom\u00e1ticamente<\/strong> cada vez que hagamos un cambio en alguna parte de dicho proyecto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class=\"wpcp-wp-lightbox-host wpcp-advanced-image-lightbox-icon-hover\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"311\" src=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/dev-cycle-sonarqube-wata-factory.png\" alt=\"Diagrama que muestra el flujo de trabajo de integraci\u00f3n de SonarQube con GitHub, GitLab, Bitbucket y Azure.\" class=\"wp-image-4888\" srcset=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/dev-cycle-sonarqube-wata-factory.png 750w, https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/dev-cycle-sonarqube-wata-factory-300x124.png 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Imagen obtenida de la&nbsp;<a class=\"wpcp-wp-lightbox-image-link\" data-wpcp-wp-lb-image=\"1\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.sonarqube.org\/latest\/\" target=\"_blank\">documentaci\u00f3n oficial de SonarQube<\/a>&nbsp;<\/figcaption><a href=\"https:\/\/docs.sonarqube.org\/latest\/\" data-fancybox=\"wpcp-wp-img-4888\" class=\"wpcp-lightbox-trigger wpcp-advanced-image-lightbox-icon wpcp-position-top-right wpcp-advanced-image-lightbox-icon-hover wpcp-global-lightbox-icon wpcp-lightbox-icon--global wpcp-lb-icon-style-default\" data-wpcp-lb-icon-source=\"global\" aria-label=\"Open image in lightbox\" data-thumb-src=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/dev-cycle-sonarqube-wata-factory-300x124.png\" data-wpcp-lb-single=\"1\" target=\"_blank\" rel=\"noopener noreferrer nofollow\"><span class=\"wpcp-icon-container\"><svg viewBox=\"0 0 20 20\"><path d=\"M17.6585 16.025L14.2437 12.6198C15.1716 11.3338 15.6121 9.7613 15.4871 8.1819C15.362 6.60251 14.6795 5.11847 13.5607 3.99351C12.936 3.36206 12.1916 2.86066 11.3709 2.51845C10.5502 2.17623 9.66952 2 8.77995 2C7.89039 2 7.00969 2.17623 6.18899 2.51845C5.36829 2.86066 4.62395 3.36206 3.99919 3.99351C3.36594 4.61649 2.86312 5.35871 2.51992 6.17708C2.17673 6.99545 2 7.87365 2 8.76068C2 9.64772 2.17673 10.5259 2.51992 11.3443C2.86312 12.1627 3.36594 12.9049 3.99919 13.5279C5.11957 14.6901 6.62279 15.4103 8.23285 15.5562C9.84291 15.7022 11.4517 15.2641 12.7639 14.3224L16.1788 17.7275C16.3849 17.9034 16.6473 18 16.9186 18C17.1899 18 17.4523 17.9034 17.6585 17.7275C18.1138 17.16 18.1138 16.5925 17.6585 16.025ZM5.59278 12.0523C5.16258 11.6298 4.82094 11.1263 4.58774 10.5709C4.35455 10.0156 4.23446 9.41951 4.23446 8.81744C4.23446 8.21536 4.35455 7.6193 4.58774 7.06394C4.82094 6.50859 5.16258 6.00503 5.59278 5.58257C6.01644 5.15359 6.52144 4.81292 7.07838 4.58039C7.63532 4.34786 8.23308 4.22811 8.83687 4.22811C9.44066 4.22811 10.0384 4.34786 10.5954 4.58039C11.1523 4.81292 11.6573 5.15359 12.081 5.58257C12.5112 6.00503 12.8528 6.50859 13.086 7.06394C13.3192 7.6193 13.4393 8.21536 13.4393 8.81744C13.4393 9.41951 13.3192 10.0156 13.086 10.5709C12.8528 11.1263 12.5112 11.6298 12.081 12.0523C11.6573 12.4813 11.1523 12.822 10.5954 13.0545C10.0384 13.287 9.44066 13.4068 8.83687 13.4068C8.23308 13.4068 7.63532 13.287 7.07838 13.0545C6.52144 12.822 6.01644 12.4813 5.59278 12.0523Z\" \/><\/svg><\/span><\/a><\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Como se muestra en la imagen, el escenario t\u00edpico en el que mejor puede entenderse su utilidad es el que contiene tres fases claras:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Desarrollo<\/strong>\u00a0\u2013 El c\u00f3digo es actualizado en el repositorio por los desarrolladores. Antes de solicitar al servicio de SonarQube que\u00a0analice los cambios, ellos pueden disponer de\u00a0feedback\u00a0inmediato gracias a la herramienta\u00a0<a href=\"https:\/\/www.sonarlint.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">SonarLint<\/a>, que puede ser integrada en los\u00a0IDEs.<\/li>\n\n\n\n<li><strong>CI\/CD<\/strong>\u00a0&#8211; Al incluir los nuevos cambios en el repositorio, las herramientas de Integraci\u00f3n Continua comprueban y construyen el c\u00f3digo, y ejecutan las pruebas. Acto seguido se hace la llamada al esc\u00e1ner de SonarQube para que analice los resultados de algunas de esas pruebas y el c\u00f3digo como tal.\u00a0<\/li>\n\n\n\n<li><strong>Plataforma de SonarQube<\/strong>\u00a0\u2013 Una vez realizado el an\u00e1lisis del proyecto, los resultados son almacenados en la plataforma y en funci\u00f3n de las condiciones de calidad que se configuren, podr\u00e1 informarse a los miembros del equipo si deben solventar alguna\u00a0carencia.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para los diversos proyectos que se realizan en <a href=\"https:\/\/wata.es\">WATA Factory<\/a>, nos hemos decantado por usar la edici\u00f3n&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/www.sonarqube.org\/downloads\/\" target=\"_blank\">Community<\/a>, la cu\u00e1l es libre y de c\u00f3digo abierto. Sin embargo, existen otras alternativas de pago que te facilitan la instalaci\u00f3n y mantenimiento del servicio de SonarQube por parte de la misma compa\u00f1\u00eda. Para el caso de la versi\u00f3n&nbsp;Community, \u00e9sta puede ser instalada en&nbsp;dos modalidades:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Local<\/strong> \u2013 El desarrollador podr\u00e1 montarse el servicio de SonarQube en su <em>localhost<\/em> para poder analizar su c\u00f3digo sin necesidad de alojarlo en ning\u00fan servidor externo o remoto.\u00a0<\/li>\n\n\n\n<li><strong>Remoto<\/strong> \u2013 El servicio de SonarQube se encontrar\u00e1 alojado en un servidor remoto d\u00f3nde se podr\u00e1 acceder a trav\u00e9s de credenciales generadas por el administrador del servicio.\u00a0\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En funci\u00f3n de las necesidades y del tama\u00f1o del proyecto (miembros, recursos o servicios a los que acudir), podr\u00e1s elegir la opci\u00f3n m\u00e1s adecuada seg\u00fan tus circunstancias.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Conceptos generales<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para entender un poco m\u00e1s la relevancia que tiene el uso de esta herramienta, vamos a detallar los conceptos generales que van a aparecer en la plataforma:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Usuarios y grupos<\/strong>: Al igual que en cualquier entorno, vamos a poder definir usuarios que se organicen en grupos. Cada uno de ellos con una serie de privilegios que les permitir\u00e1n desde solicitar el an\u00e1lisis de un proyecto hasta validar o cancelar falsos positivos en los an\u00e1lisis realizados.\u00a0<\/li>\n\n\n\n<li><strong>Proyectos<\/strong>: Para poder realizar el an\u00e1lisis de nuestro c\u00f3digo, tendremos que generar un proyecto en la plataforma d\u00f3nde indiquemos los par\u00e1metros que van a identificar nuestro proyecto software. Dichos par\u00e1metros, en funci\u00f3n del lenguaje\u00a0que estemos usando en nuestro proyecto, se deber\u00e1 indicar de una manera u otra.\u00a0Dentro de estos proyectos encontraremos el an\u00e1lisis de cada uno de ellos, conteniendo los siguientes datos:\u00a0<\/li>\n\n\n\n<li><strong>Bugs<\/strong>:\u00a0Errores en el c\u00f3digo que deben ser resueltos lo antes posible.\u00a0<\/li>\n\n\n\n<li><strong>Vulnerabilidades<\/strong>:\u00a0Puntos del c\u00f3digo que se encuentran abiertos a ataques externos y que pueden poner en peligro la integridad y seguridad del proyecto.\u00a0<\/li>\n\n\n\n<li><strong>Hotspots<\/strong>:\u00a0Puntos del c\u00f3digo que deben ser revisados para evitar problemas mayores, no tienen\u00a0porqu\u00e9\u00a0poner en peligro la seguridad del proyecto.\u00a0<\/li>\n\n\n\n<li><strong>Code\u00a0smells<\/strong>:\u00a0Elementos que hacen que el c\u00f3digo sea poco legible o dif\u00edcil de mantener.\u00a0<\/li>\n\n\n\n<li><strong>Cobertura<\/strong>:\u00a0A partir de los reportes de los\u00a0tests\u00a0unitarios ejecutados, SonarQube importa los resultados y muestra la cobertura de ellos.\u00a0<\/li>\n\n\n\n<li><strong>Duplicaciones<\/strong>:\u00a0N\u00famero de bloques, ficheros y l\u00edneas duplicadas detectadas.\u00a0<\/li>\n\n\n\n<li><strong>Total\u00a0de l\u00edneas<\/strong>:\u00a0Total de l\u00edneas de c\u00f3digo del proyecto.\u00a0<\/li>\n\n\n\n<li><strong>Lenguajes<\/strong>:\u00a0Lenguajes\u00a0de programaci\u00f3n\u00a0que son usados en el proyecto.\u00a0<\/li>\n\n\n\n<li><strong>Estado actual<\/strong>:\u00a0Fail\/Passed, dependiendo de los valores establecidos en el perfil de calidad\u00a0que se le asocien.\u00a0<\/li>\n\n\n\n<li><strong>Tags<\/strong>:\u00a0Etiquetas que se le han asignado al proyecto.\u00a0<\/li>\n\n\n\n<li><strong>Hora del \u00faltimo an\u00e1lisis<\/strong>:\u00a0Registro de cada uno de los an\u00e1lisis realizados.\u00a0<\/li>\n\n\n\n<li><strong>Perfiles de calidad<\/strong>: Dependen\u00a0directamente de las condiciones establecidas en los\u00a0Quality\u00a0Gates, las cuales van a indicar cu\u00e1les son las reglas que deben seguirse en cada uno de los lenguajes disponibles en SonarQube.\u00a0Las condiciones de los perfiles de calidad reflejar\u00e1n l\u00edmites en cuanto a m\u00ednimos de cobertura, l\u00edneas duplicadas, \u00edndice de seguridad o \u00edndice de mantenibilidad.\u00a0<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Como podemos ver, el reporte y la informaci\u00f3n generada es muy amplia, lo que nos permite tener una visi\u00f3n muy precisa del estado de nuestro proyecto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En WATA Factory hemos establecido SonarQube como una herramienta m\u00e1s y ha permitido la mejora de la calidad del c\u00f3digo y tambi\u00e9n, un aprendizaje indirecto de los desarrolladores. Ya que <strong>con cada uno de los reportes se aprende qu\u00e9 malas pr\u00e1cticas deben evitar y c\u00f3mo solventarlas<\/strong> con las propuestas ofrecidas por la misma herramienta, gracias a las reglas definidas en los&nbsp;<em>Quality&nbsp;Gates<\/em>.&nbsp;En futuros art\u00edculos, veremos c\u00f3mo configurar nuestro proyecto&nbsp;para poder analizarlo con SonarQube de forma autom\u00e1tica desde un <em>pipeline<\/em>.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En art\u00edculos anteriores hemos visto diversos procesos de&nbsp;testing&nbsp;que nos permiten&nbsp;garantizar la calidad y correcci\u00f3n del producto final&nbsp;que debemos entregar. En este art\u00edculo vamos a hablar de SonarQube, una herramienta que nos permite garantizar tambi\u00e9n la calidad a nivel interno.<\/p>\n","protected":false},"author":23,"featured_media":4443,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[89,183],"tags":[153,220,152],"class_list":["post-4856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-tecnologia","tag-calidad","tag-sonarqube-2","tag-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\/CD - WATA Factory<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\/CD - WATA Factory\" \/>\n<meta property=\"og:description\" content=\"En art\u00edculos anteriores hemos visto diversos procesos de&nbsp;testing&nbsp;que nos permiten&nbsp;garantizar la calidad y correcci\u00f3n del producto final&nbsp;que debemos entregar. En este art\u00edculo vamos a hablar de SonarQube, una herramienta que nos permite garantizar tambi\u00e9n la calidad a nivel interno.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/\" \/>\n<meta property=\"og:site_name\" content=\"WATA Factory\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/watafactory\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-03T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-30T09:07:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wata.es\/wp-content\/uploads\/2020\/10\/manual-testing-wata-factory-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1969\" \/>\n\t<meta property=\"og:image:height\" content=\"1108\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Azahara Camacho\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@watafactory\" \/>\n<meta name=\"twitter:site\" content=\"@watafactory\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Azahara Camacho\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/\"},\"author\":{\"name\":\"Azahara Camacho\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/person\\\/a28afaf1e1c18fb9c85bae7175b8a841\"},\"headline\":\"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\\\/CD\",\"datePublished\":\"2021-07-03T07:00:00+00:00\",\"dateModified\":\"2026-01-30T09:07:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/\"},\"wordCount\":1052,\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/manual-testing-wata-factory-1.jpg\",\"keywords\":[\"calidad\",\"sonarqube\",\"testing\"],\"articleSection\":[\"Noticias\",\"Tecnolog\u00eda\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/\",\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/\",\"name\":\"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\\\/CD - WATA Factory\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/manual-testing-wata-factory-1.jpg\",\"datePublished\":\"2021-07-03T07:00:00+00:00\",\"dateModified\":\"2026-01-30T09:07:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/manual-testing-wata-factory-1.jpg\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/manual-testing-wata-factory-1.jpg\",\"width\":1969,\"height\":1108,\"caption\":\"Equipo de desarrolladores probando software y encontrando errores en una pantalla de computadora grande\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wata.es\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\\\/CD\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wata.es\\\/#website\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"name\":\"WATA Factory\",\"description\":\"IT Consulting &amp; Outsourcing for your company\",\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wata.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\",\"name\":\"WATA Factory\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"width\":688,\"height\":176,\"caption\":\"WATA Factory\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/watafactory\\\/\",\"https:\\\/\\\/x.com\\\/watafactory\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/wata\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/person\\\/a28afaf1e1c18fb9c85bae7175b8a841\",\"name\":\"Azahara Camacho\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0de2628fe514c40b14a86a7ed324e891b56293a9e72df673d2505d8a11f69b17?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0de2628fe514c40b14a86a7ed324e891b56293a9e72df673d2505d8a11f69b17?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0de2628fe514c40b14a86a7ed324e891b56293a9e72df673d2505d8a11f69b17?s=96&d=mm&r=g\",\"caption\":\"Azahara Camacho\"},\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/author\\\/azahara-camacho\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\/CD - WATA Factory","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/","og_locale":"es_ES","og_type":"article","og_title":"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\/CD - WATA Factory","og_description":"En art\u00edculos anteriores hemos visto diversos procesos de&nbsp;testing&nbsp;que nos permiten&nbsp;garantizar la calidad y correcci\u00f3n del producto final&nbsp;que debemos entregar. En este art\u00edculo vamos a hablar de SonarQube, una herramienta que nos permite garantizar tambi\u00e9n la calidad a nivel interno.","og_url":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/","og_site_name":"WATA Factory","article_publisher":"https:\/\/www.facebook.com\/watafactory\/","article_published_time":"2021-07-03T07:00:00+00:00","article_modified_time":"2026-01-30T09:07:55+00:00","og_image":[{"width":1969,"height":1108,"url":"https:\/\/wata.es\/wp-content\/uploads\/2020\/10\/manual-testing-wata-factory-1.jpg","type":"image\/jpeg"}],"author":"Azahara Camacho","twitter_card":"summary_large_image","twitter_creator":"@watafactory","twitter_site":"@watafactory","twitter_misc":{"Escrito por":"Azahara Camacho","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/#article","isPartOf":{"@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/"},"author":{"name":"Azahara Camacho","@id":"https:\/\/wata.es\/#\/schema\/person\/a28afaf1e1c18fb9c85bae7175b8a841"},"headline":"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\/CD","datePublished":"2021-07-03T07:00:00+00:00","dateModified":"2026-01-30T09:07:55+00:00","mainEntityOfPage":{"@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/"},"wordCount":1052,"publisher":{"@id":"https:\/\/wata.es\/#organization"},"image":{"@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2020\/10\/manual-testing-wata-factory-1.jpg","keywords":["calidad","sonarqube","testing"],"articleSection":["Noticias","Tecnolog\u00eda"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/","url":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/","name":"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\/CD - WATA Factory","isPartOf":{"@id":"https:\/\/wata.es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/#primaryimage"},"image":{"@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2020\/10\/manual-testing-wata-factory-1.jpg","datePublished":"2021-07-03T07:00:00+00:00","dateModified":"2026-01-30T09:07:55+00:00","breadcrumb":{"@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/#primaryimage","url":"https:\/\/wata.es\/wp-content\/uploads\/2020\/10\/manual-testing-wata-factory-1.jpg","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2020\/10\/manual-testing-wata-factory-1.jpg","width":1969,"height":1108,"caption":"Equipo de desarrolladores probando software y encontrando errores en una pantalla de computadora grande"},{"@type":"BreadcrumbList","@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wata.es\/es\/"},{"@type":"ListItem","position":2,"name":"SonarQube: C\u00f3mo mantener la calidad de tu c\u00f3digo durante un proceso de CI\/CD"}]},{"@type":"WebSite","@id":"https:\/\/wata.es\/#website","url":"https:\/\/wata.es\/","name":"WATA Factory","description":"IT Consulting &amp; Outsourcing for your company","publisher":{"@id":"https:\/\/wata.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wata.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/wata.es\/#organization","name":"WATA Factory","url":"https:\/\/wata.es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wata.es\/#\/schema\/logo\/image\/","url":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","width":688,"height":176,"caption":"WATA Factory"},"image":{"@id":"https:\/\/wata.es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/watafactory\/","https:\/\/x.com\/watafactory","https:\/\/www.linkedin.com\/company\/wata\/"]},{"@type":"Person","@id":"https:\/\/wata.es\/#\/schema\/person\/a28afaf1e1c18fb9c85bae7175b8a841","name":"Azahara Camacho","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/0de2628fe514c40b14a86a7ed324e891b56293a9e72df673d2505d8a11f69b17?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0de2628fe514c40b14a86a7ed324e891b56293a9e72df673d2505d8a11f69b17?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0de2628fe514c40b14a86a7ed324e891b56293a9e72df673d2505d8a11f69b17?s=96&d=mm&r=g","caption":"Azahara Camacho"},"url":"https:\/\/wata.es\/es\/author\/azahara-camacho\/"}]}},"_links":{"self":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/comments?post=4856"}],"version-history":[{"count":5,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4856\/revisions"}],"predecessor-version":[{"id":15425,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4856\/revisions\/15425"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/media\/4443"}],"wp:attachment":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/media?parent=4856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/categories?post=4856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/tags?post=4856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}