es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La tarea de SonarCloud de Azure Pipelines ha comenzado a fallar (desde hace unos días).

Nuestra empresa utiliza Azure DevOps Pipelines para construir software. Todas las pipelines están conectadas a SonarCloud para análisis de código.

Aunque todos nuestros planes (DevOps y Sonar) son pagados, espero obtener respuestas más rápidas y claras aquí.

Lunes 30 de noviembre de 2021

Nuestra última pipeline exitosa indica una advertencia, espero que el equipo de SonarCloud le haya dado la debida atención.

Esta tarea utiliza el controlador de ejecución Node 6, que pronto quedará obsoleto. Si eres el desarrollador de la tarea, considera la guía de migración para el controlador Node 10 – https://aka.ms/migrateTaskNode10. Si eres el usuario, no dudes en contactar a los dueños de esta tarea para proceder con la migración..


<h1>Comenzando: Preparación del análisis de SonarCloud</h1> Tarea : Configuración de preparación de análisis Descripción : Preparar la configuración de análisis de SonarCloud Versión : 1.22.0 Autor : sonarsource <h1>Ayuda : Versión: 1.22.0. <a href="https://sonarcloud.io/documentation/analysis/scan/sonarscanner-for-azure-devops/">Más información</a></h1> <h2>[advertencia] Esta tarea utiliza el controlador de ejecución Node 6, que pronto quedará obsoleto. Si eres el desarrollador de la tarea, considera la guía de migración para el controlador Node 10 - https://aka.ms/migrateTaskNode10. Si eres el usuario, no dudes en contactar a los dueños de esta tarea para proceder con la migración.</h2> Finalizando: Preparación del análisis de SonarCloud

La pipeline, como dije, tuvo éxito, por lo que construimos nuestro software.

<h3>Martes 30 de noviembre de 2021 y hoy 1 de diciembre</h3>

La advertencia ha desaparecido, pero las pipelines fallarán en el escaneo de SonarCloud.

Las tareas de SonarCloud se actualizaron a la versión 1.23.0.

Pero la tarea de Gradle falla con el siguiente error:

<p>“`
* Qué salió mal:
Execution failed for task ‘:sonarqube’.

No tienes autorización para ejecutar el análisis. No se estableció ninguna variable sonar.login o SONAR_TOKEN env




Código de la pipeline

```yaml stages: - stage: Build variables: # Build vstsFeed: buildArtifactName: <pre><code> # Parámetros de SonarCloud sonarCloudOrganization: sonarCloudProjectKey: sonarCloudProjectName: jobs: - job: Build displayName: Construir aplicación pool: vmImage: ubuntu-20.04 steps: - task: MavenAuthenticate@0 inputs: artifactsFeeds: # Preparación del análisis de SonarCloud - task: SonarCloudPrepare@1 displayName: Preparar análisis de SonarCloud inputs: SonarCloud: &#39;SonarCloud&#39; organization: $(sonarCloudOrganization) scannerMode: &#39;Other&#39; extraProperties: | # Propiedades adicionales que se pasarán al escáner, # Coloque una clave=valor por línea, ejemplo: sonar.exclusions=**/*.bin, build/**, build-extra/** sonar.projectKey=$(sonarCloudProjectKey) sonar.projectName=$(sonarCloudProjectName) - task: Gradle@2 displayName: Construir con Gradle inputs: gradleWrapperFile: gradlew gradleOptions: -Xmx3072m $(gradleJavaProperties) options: -Pci=true -PbuildId=$(Build.BuildId) -PreleaseType=${{parameters.releaseType}} jdkVersionOption: 1.11 jdkArchitectureOption: x64 publishJUnitResults: true sqAnalysisEnabled: true sqGradlePluginVersionChoice: specify sqGradlePluginVersion: 3.2.0 testResultsFiles: &#39;$(System.DefaultWorkingDirectory)/build/test-results/**/TEST-*.xml&#39; tasks: clean build - task: SonarCloudPublish@1 displayName: Publicar puerta de calidad de SonarCloud inputs: pollingTimeoutSec: &#39;300&#39; # Publicar artefactos - task: PublishCodeCoverageResults@1 displayName: Publicar resultados de cobertura de código (prueba) condition: succeededOrFailed() inputs: summaryFileLocation: &#39;$(System.DefaultWorkingDirectory)/build/reports/jacoco/test/*.xml&#39; pathToSources: $(System.DefaultWorkingDirectory)/src/main/java failIfCoverageEmpty: false </code></pre>

Tenga en cuenta que uso Gradle junto con la configuración de Azure DevOps para ejecutar un escaneo de SonarCloud. SonarCloud está vinculado al proyecto como una Service Connection.

Edit: actualizar sqGradlePluginVersion a 3.3 produce el mismo resultado.

Pregunta

¿Puedo hacer algo para solucionar esto? Mis pipelines requieren SonarCloud antes de fusionar una solicitud de extracción, y nuestra codificación está congelada en este momento.

¿O es un problema totalmente relacionado con SonarCloud y Azure DevOps?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según el mensaje de error, parece que la exploración de SonarCloud está fallando porque no tienes autorización para ejecutar el análisis. El error sugiere configurar la variable de entorno sonar.login o SONAR_TOKEN para autenticar el análisis.

    Dado que mencionaste que tu cuenta de SonarCloud está vinculada al proyecto como una conexión de servicio, es posible que quieras verificar si se están utilizando las credenciales correctas para la conexión. Puedes verificar esto yendo a la configuración de SonarCloud en tu proyecto de Azure DevOps y revisando los detalles de la conexión de servicio.

    Si las credenciales son correctas, intenta configurar la variable SONAR_TOKEN en el pipeline de Azure DevOps. Puedes obtener el token desde el sitio web de SonarCloud. Puedes agregar el siguiente comando a tu pipeline para configurar la variable:

    - tarea: PowerShell@2
      inputs:
        targetType: 'inline'
        script: |
          $env:SONAR_TOKEN = "<tu-token-de-sonar>"
    

    Reemplaza <tu-token-de-sonar> con tu token real de SonarCloud.

    Si el problema persiste, es posible que desees contactar al soporte de SonarCloud para obtener más ayuda.

Comments are closed.