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:
-
Nella console IBM Cloud, fai clic sull'icona del menu
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.
-
Immetti un nome per questa istanza dell'integrazione dello strumento SonarQube.
-
Immetti l'URL per l'istanza SonarQube che desideri aprire quando fai clic sulla scheda SonarQube dalla tua toolchain.
-
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.
-
Immetti la password o il token di autenticazione che utilizzi per connetterti al server SonarQube.
-
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.
-
Fai clic su Crea integrazione.
-
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 sudefault
, 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:
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.
-
Vai al dashboard SonarQube creato dall' URL dai log della pipeline nell'attività
static-scan
.Figura 1. SonarQube -
Fare clic su Portata qualità > Crea.
-
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.
-
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.