{"id":4856,"date":"2021-07-03T09:00:00","date_gmt":"2021-07-03T07:00:00","guid":{"rendered":"https:\/\/wata.es\/?p=4856"},"modified":"2025-04-14T17:01:30","modified_gmt":"2025-04-14T15:01:30","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>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>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>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>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\"><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=\"\" 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>Imagen obtenida de la&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/docs.sonarqube.org\/latest\/\" target=\"_blank\">documentaci\u00f3n oficial de SonarQube<\/a>&nbsp;<\/figcaption><\/figure>\n\n\n\n<p>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\"><li><strong>Desarrollo<\/strong>&nbsp;\u2013 El c\u00f3digo es actualizado en el repositorio por los desarrolladores. Antes de solicitar al servicio de SonarQube que&nbsp;analice los cambios, ellos pueden disponer de&nbsp;feedback&nbsp;inmediato gracias a la herramienta&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/www.sonarlint.org\/\" target=\"_blank\">SonarLint<\/a>, que puede ser integrada en los&nbsp;IDEs.<\/li><li><strong>CI\/CD<\/strong>&nbsp;&#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.&nbsp;<\/li><li><strong>Plataforma de SonarQube<\/strong>&nbsp;\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&nbsp;carencia.<\/li><\/ul>\n\n\n\n<p>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\"><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.&nbsp;<\/li><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.&nbsp;&nbsp;<\/li><\/ul>\n\n\n\n<p>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>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\"><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.&nbsp;<\/li><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&nbsp;que estemos usando en nuestro proyecto, se deber\u00e1 indicar de una manera u otra.&nbsp;Dentro de estos proyectos encontraremos el an\u00e1lisis de cada uno de ellos, conteniendo los siguientes datos:&nbsp;<\/li><li><strong>Bugs<\/strong>:&nbsp;Errores en el c\u00f3digo que deben ser resueltos lo antes posible.&nbsp;<\/li><li><strong>Vulnerabilidades<\/strong>:&nbsp;Puntos del c\u00f3digo que se encuentran abiertos a ataques externos y que pueden poner en peligro la integridad y seguridad del proyecto.&nbsp;<\/li><li><strong>Hotspots<\/strong>:&nbsp;Puntos del c\u00f3digo que deben ser revisados para evitar problemas mayores, no tienen&nbsp;porqu\u00e9&nbsp;poner en peligro la seguridad del proyecto.&nbsp;<\/li><li><strong>Code&nbsp;smells<\/strong>:&nbsp;Elementos que hacen que el c\u00f3digo sea poco legible o dif\u00edcil de mantener.&nbsp;<\/li><li><strong>Cobertura<\/strong>:&nbsp;A partir de los reportes de los&nbsp;tests&nbsp;unitarios ejecutados, SonarQube importa los resultados y muestra la cobertura de ellos.&nbsp;<\/li><li><strong>Duplicaciones<\/strong>:&nbsp;N\u00famero de bloques, ficheros y l\u00edneas duplicadas detectadas.&nbsp;<\/li><li><strong>Total&nbsp;de l\u00edneas<\/strong>:&nbsp;Total de l\u00edneas de c\u00f3digo del proyecto.&nbsp;<\/li><li><strong>Lenguajes<\/strong>:&nbsp;Lenguajes&nbsp;de programaci\u00f3n&nbsp;que son usados en el proyecto.&nbsp;<\/li><li><strong>Estado actual<\/strong>:&nbsp;Fail\/Passed, dependiendo de los valores establecidos en el perfil de calidad&nbsp;que se le asocien.&nbsp;<\/li><li><strong>Tags<\/strong>:&nbsp;Etiquetas que se le han asignado al proyecto.&nbsp;<\/li><li><strong>Hora del \u00faltimo an\u00e1lisis<\/strong>:&nbsp;Registro de cada uno de los an\u00e1lisis realizados.&nbsp;<\/li><li><strong>Perfiles de calidad<\/strong>: Dependen&nbsp;directamente de las condiciones establecidas en los&nbsp;Quality&nbsp;Gates, las cuales van a indicar cu\u00e1les son las reglas que deben seguirse en cada uno de los lenguajes disponibles en SonarQube.&nbsp;Las 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.&nbsp;<\/li><\/ol>\n\n\n\n<p>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>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 v26.1.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\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=\"2025-04-14T15:01:30+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\":\"2025-04-14T15:01:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/\"},\"wordCount\":1105,\"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\":\"2025-04-14T15:01:30+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},{\"@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:\/\/wata.es\/#\/schema\/person\/image\/\",\"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\/acamacho\/\"}]}<\/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":"2025-04-14T15:01:30+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":"2025-04-14T15:01:30+00:00","mainEntityOfPage":{"@id":"https:\/\/wata.es\/es\/sonarqube-como-mantener-la-calidad-de-tu-codigo-durante-un-proceso-de-ci-cd\/"},"wordCount":1105,"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":"2025-04-14T15:01:30+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},{"@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:\/\/wata.es\/#\/schema\/person\/image\/","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\/acamacho\/"}]}},"_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":3,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4856\/revisions"}],"predecessor-version":[{"id":11989,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4856\/revisions\/11989"}],"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}]}}