IBM Cloud Docs
Configuración de exploraciones de SonarQube

Configuración de exploraciones de SonarQube

SonarQube ofrece una visión general del estado general y de la calidad del código fuente e identifica los problemas del nuevo código. Los analizadores de código detectan errores complicados, como referencias a punteros nulos, errores de lógica y falta de recursos, para más de 20 lenguajes de codificación.

Configure SonarQube de modo que analice y evalúe continuamente la calidad del código fuente:

  1. En la consola de IBM Cloud, pulse el icono de menú icono de Hamburguesa y seleccione DevOps. En la página Cadenas de herramientas, pulse la cadena de herramientas para abrir su página Visión general. Como alternativa, en la página Visión general de su app, en la tarjeta de Entrega continua, pulse Ver cadena de herramientas. A continuación, pulse Visión general.

    a. Pulse Añadir una herramienta.

    b. En la sección Integraciones de herramientas, pulse SonarQube.

  2. Escriba un nombre para esta instancia de la integración de herramientas SonarQube.

  3. Escriba el URL correspondiente a la instancia de SonarQube que desea abrir cuando pulse la tarjeta de SonarQube en la cadena de herramientas.

  4. Opcional: Escriba el nombre de usuario que utiliza para conectarse al servidor SonarQube.

    Sólo debe especificar un nombre de usuario si utiliza una contraseña para conectarse al servidor SonarQube. Si utiliza una señal de autenticación para conectar, deje este campo vacío.

  5. Escriba la contraseña o la señal de autenticación que utiliza para conectarse al servidor de SonarQube.

  6. Si el servidor no puede estar en la Internet pública, seleccione Avanzado. IBM Cloud no puede validar los detalles de conexión que proporcione y determinadas funciones que requieren acceso de API a este servidor están inhabilitadas. La interconexión de entrega sólo funciona utilizando un trabajador privado que tiene acceso de red a este servidor.

  7. Pulse Crear integración.

  8. En la página Visión general de la cadena de herramientas, en la tarjeta Herramientas de terceros, pulse SonarQube para ver el panel de control de la instancia de SonarQube a la que se ha conectado.

Adición de Sonarqube a la interconexión de integración continua

Instancia predeterminada de SonarQube

  • Si sonarqube-config se establece en default, se utiliza SonarQube de forma predeterminada para escanear. Este escaneo se ejecuta como Dockeren-Docker.

La instancia utilizada sólo está disponible durante la ejecución. Por lo tanto, no puede acceder al panel de control.

  • De forma predeterminada, la interconexión utiliza la edición de comunidad SonarQube que sólo tiene comprobaciones de checks.Many y problemas de zona de host no están cubiertos en Community Edition.

  • Para verificar si se ha incorporado una vulnerabilidad en la edición de comunidad, consulte la hebra en la pregunta de comunidad de Sonarqube

  • La implementación predeterminada que es la instancia de SonarQube Community Edition registrada con CISO no es una edición edition.SonarQube Enterprise Edition es la única edición aprobada por ITSS.

Para descargar SonarQube, consulte Descargas deSonarQube

Instancia de SonarQube en el clúster de desarrollo

Si sonarqube-config se establece en cluster, el conducto crea una instancia SonarQube durante la ejecución del conducto en el clúster dev. Puede acceder a esta instancia después de que la etapa de exploración estática se haya runs.You Puede acceder al panel de control SonarQube localmente mediante el reenvío de puertos.

Instancia existente de SonarQube

Establezca sonarqube-config en custom, para añadir su propia instancia de SonarQube al conducto existente, añada la integración de herramientas a la cadena de herramientas y, a continuación, añada el parámetro de integración de herramientas SonarQube al conducto. Para obtener más información, consulte Configuración de SonarQube.

Parámetros

Para ejecutar la exploración de SonarQube, la interconexión necesita los siguientes parámetros de integración continua:

Table 1. Continuous integration pipeline parameters
Nombre Tipo Descripción Obligatoria u opcional
cluster-name Texto El nombre del clúster de compilación de Docker. Obligatorio
dev-region Texto La región de IBM Cloud que aloja el clúster. Obligatorio
opt-in-sonar Texto La opción para habilitar la exploración de sonarQube. Obligatorio
sonarqube Integración de herramientas La integración de herramientas de Sonarqube. Opcional
sonarqube-config Texto Ejecuta una exploración SonarQube en un contenedor aislado de Docker-in-Docker (configuración predeterminada) o en un clúster Kubernetes de desarrollo existente (configuración de clúster). De forma alternativa, puede traer su propia instancia de SonarQube y configurar la integración de herramientas de SonarQube (configuración personalizada). Opciones: default, cluster o custom. El valor predeterminado es default. Para obtener más información, consulte (Adición de SonarQube al conducto de integración continua). Obligatorio
zonas activas de opt-in-sonar Texto Exploración de Sonarqube para detectar zonas activas. Opcional

Para obtener más información sobre los parámetros de interconexiones, consulte Parámetros de interconexión.

Si añade varias integraciones de herramientas de SonarQube en la interconexión, podrá conmutar entre ellas cambiando el valor del parámetro de interconexión de sonarqube, que es un parámetro de integración de herramientas.

Plug-ins instalados en SonarQube

DevSecOps Pipelines utiliza SonarQube Versión 10.0 de forma predeterminada.

Para obtener más información sobre la lista de plugins preinstalados, consulte plugins

Problemas notificados desde SonarQube

DevSecOps Pipelines filtra los problemas notificados durante la exploración de SonarQube. Las interconexiones crean exclusivamente incidencias de conformidad para problemas que no son del tipo CODE_SMELL o BUG. La interconexión también omite los problemas para los que el estado es CLOSED.

Actualización de la puerta de calidad

Si se utiliza la instancia de SonarQube que ha creado la interconexión, se puede actualizar la puerta de calidad predeterminada.

  1. Vaya al panel de control de SonarQube creado por el URL de los registros de interconexión en la tarea static-scan.

    Panel de control deSonarQube
    Figura 1. SonarQube

  2. Pulse Puertas de calidad > Crear.

  3. Establezca su Puerta de calidad utilizando una de las opciones siguientes:

    • Pulse Establecer como valor predeterminado para establecer la puerta de calidad recién creada como valor predeterminado.
    • En el panel de control, seleccione el proyecto y, a continuación, pulse Valores de proyecto > Puerta de calidad para utilizar la puerta de calidad recién creada para el proyecto.
  4. Especifique qué puerta de calidad desea asociar con el proyecto. Esta puerta de calidad evalúa las nuevas exploraciones y los resultados de la puerta de calidad crean la prueba.

Para obtener más información sobre SonarQube, consulte la documentación deSonarQube.

Utilización de su propio archivo de configuración

Puede modificar la configuración predeterminada sin utilizar su propia instancia de SonarQube. Cree un archivo sonar-project.properties en el repositorio en el que desea crear el archivo de configuración. Si nuestro script detecta un archivo configuration sonar-project.properties existente en el repositorio, utiliza ese archivo en lugar del archivo predeterminado. Para obtener más información sobre los posibles parámetros de análisis en el archivo de configuración, consulte Parámetros de análisis aquí.

Asegúrese de añadir las credenciales de inicio de sesión y el URL de host correctos en el archivo de configuración.

Utilización de otra implementación de exploración estática

Puede modificar el archivo .pipeline-config.yaml para añadir su propio script personalizado en la etapa static-scan para utilizar su propia implementación de exploración estática.

Más información sobre SonarQube

Para obtener más información sobre SonarQube, consulte Integrar el análisis de SonarQube en la cadena de herramientas.