IBM Cloud Docs
Configurazione delle scansioni SonarQube

Configurazione delle scansioni SonarQube

SonarQube fornisce una panoramica dello stato generale e della qualità del codice sorgente ed evidenzia i problemi riscontrati nel nuovo codice. I programmi di analisi del codice rilevano errori complessi, come ad esempio dereferenziazioni di puntatori null, errori di logica e perdita di risorse, per più di 20 linguaggi di codifica.

Configura SonarQube per analizzare e misurare continuamente la qualità del tuo codice sorgente:

  1. Nella console IBM Cloud, fai clic sull'icona del menu Hamburger icon e seleziona DevOps. Nella pagina Toolchains, fai clic sulla toolchain per aprirne la pagina di panoramica. In alternativa, nella pagina della panoramica della tua applicazione, nella scheda di fornitura continua, fai clic su View toolchain. Fai quindi clic su Overview.

    a. Fai clic su Add a tool.

    b. Nella sezione Tool Integrations, fai clic su SonarQube.

  2. Immetti un nome per questa istanza dell'integrazione dello strumento SonarQube.

  3. Immetti l'URL per l'istanza SonarQube che desideri aprire quando fai clic sulla scheda SonarQube dalla tua toolchain.

  4. Facoltativo: immettere il nome utente utilizzato per connettersi al server SonarQube.

    È necessario specificare un nome utente solo se si utilizza una password per connettersi al server SonarQube. Se per la connessione utilizzi un token di autenticazione, lascia vuoto questo campo.

  5. Immetti la password o il token di autenticazione che utilizzi per connetterti al server SonarQube.

  6. Se il server non può essere su Internet pubblico, seleziona Advanced. IBM Cloud non può convalidare i dettagli di connessione che fornisci e alcune funzioni che richiedono l'accesso API a questo server sono disabilitate. La pipeline di distribuzione funziona solo utilizzando un operatore privato che ha accesso di rete a questo server.

  7. Fai clic su Crea integrazione.

  8. Nella pagina Panoramica della tua toolchain, sulla scheda Strumenti di terze parti, fai clic su SonarQube per visualizzare il pannello di controllo per l'istanza SonarQube a cui ti sei connesso.

Aggiunta di SonarQube alla pipeline di integrazione continua

Istanza SonarQube predefinita

  • Se sonarqube-config è impostato su default, per impostazione predefinita viene utilizzato SonarQube per la scansione. Questa scansione viene eseguita come DockerinDocker.

L'istanza utilizzata è disponibile solo durante l'esecuzione. Pertanto, non è possibile accedere al dashboard.

  • Per impostazione predefinita, la pipeline utilizza l'edizione della community SonarQube che ha solo controlli checks.Many regole di vulnerabilità e problemi di hostspot non sono coperti in Community Edition.

  • Per verificare se una vulnerabilità è stata verificata nell'edizione della community, fai riferimento a thread in Sonarqube community question

  • L'implementazione predefinita che è l'istanza SonarQube community Edition registrata con CISO non è un'edizione edition.SonarQube Enterprise Edition è l'unica edizione approvata da ITSS.

Per scaricare SonarQube, fai riferimento a SonarQube Downloads

L'istanza SonarQube sul cluster di sviluppo

Se sonarqube-config è impostato su cluster, la pipeline crea un'istanza di SonarQube durante l'esecuzione della pipeline nel cluster di sviluppo. Puoi accedere a questa istanza dopo che la fase di scansione statica è stata runs.You accedere al dashboard SonarQube localmente tramite l'inoltro della porta.

Istanza SonarQube esistente

Imposta sonarqube-config su custom, per aggiungere la tua istanza SonarQube alla tua pipeline esistente, aggiungere l'integrazione dello strumento alla tua toolchain e quindi aggiungere il parametro di integrazione dello strumento SonarQube alla pipeline. Per ulteriori informazioni, vedi Configurazione di SonarQube.

Parametri

Per eseguire la scansione SonarQube, la pipeline richiede i seguenti parametri di integrazione continua:

Table 1. Continuous integration pipeline parameters
Nome Immettere Descrizione Obbligatoria o facoltativa
nome - cluster Testo Nome del cluster di build Docker. Obbligatorio
area di sviluppo Testo La regione IBM Cloud che ospita il cluster. Obbligatorio
opt-in - sonar Testo L'opzione per abilitare la scansione SonarQube. Obbligatorio
sonarqube Integrazione strumento L'integrazione dello strumento SonarQube. Facoltativo
configurazione sonetto Testo Esegue una scansione SonarQube in un contenitore Docker- in -Docker isolato (configurazione predefinita) o in un cluster Kubernetes di sviluppo esistente (configurazione cluster). In alternativa, puoi portare la tua istanza SonarQube e configurare l'integrazione dello strumento SonarQube (configurazione personalizzata). Opzioni: default, cluster o custom. Il valore predefinito è default. Per ulteriori informazioni, vedi (Aggiunta di SonarQube alla pipeline di integrazione continua). Obbligatorio
punti di attivazione - opt - in - sonar Testo La scansione Sonarqube per rilevare gli hotspot. Facoltativo

Per ulteriori informazioni sui parametri delle pipeline, vedi Parametri pipeline.

Se aggiungi più integrazioni dello strumento SonarQube alla tua pipeline, puoi passare da una pipeline all'altra modificando il valore del parametro della pipeline SonarQube, che è un parametro di integrazione dello strumento.

Plug-in installati in SonarQube

DevSecOps Pipelines utilizza SonarQube Versione 10.0 per default.

Per ulteriori informazioni sull'elenco dei plug-in preinstallati, fare riferimento a plug-in

Problemi riportati da SonarQube

DevSecOps Pipelines filtra i problemi riportati durante la scansione SonarQube. Le pipeline creano esclusivamente Incidazioni di conformità per problemi che non sono di tipo CODE_SMELL o BUG. La pipeline ignora anche i problemi per cui lo stato è CLOSED.

Aggiornamento del gate di qualità

Se utilizzi l'istanza SonarQube creata dalla pipeline, puoi aggiornare il gate di qualità predefinito.

  1. Vai al dashboard SonarQube creato dall' URL dai log della pipeline nell'attività static-scan.

    SonarQube
    Figura 1. SonarQube

  2. Fare clic su Portata qualità > Crea.

  3. Imposta il tuo Quality Gate utilizzando una delle opzioni seguenti:

    • Fare clic su Imposta come predefinito per impostare il gate di qualità appena creato come predefinito.
    • Dal pannello di controllo, selezionare il progetto e fare clic su Impostazioni progetto > Quality Gate per utilizzare il gate di qualità appena creato per il progetto.
  4. Specificare quale gate di qualità si desidera associare al progetto. Nuove scansioni vengono valutate da questo gate di qualità e la prova viene creata dai risultati del gate di qualità.

Per ulteriori informazioni su SonarQube, vedi SonarQube Documentation.

Utilizzo del proprio file di configurazione

Puoi modificare la configurazione predefinita senza utilizzare la tua istanza SonarQube. Crea un file sonar-project.properties nel repo in cui vuoi creare il file di configurazione. Se il nostro script rileva un file configuration sonar-project.properties esistente nel repository, utilizza tale file invece del file predefinito. Per ulteriori informazioni sui parametri di analisi possibili nel file di configurazione, consultare Parametri di analisi qui.

Assicurarsi di aggiungere le credenziali di accesso e l' URL host corretti al file di configurazione.

Utilizzo di un'altra implementazione della scansione statica

È possibile modificare il proprio file .pipeline-config.yaml per aggiungere il proprio script personalizzato allo stage static-scan per utilizzare la propria implementazione della scansione statica.

Ulteriori informazioni su SonarQube

Per ulteriori informazioni su SonarQube, vedi Integra la tua analisi SonarQube nella tua toolchain.