
Una Bitbucket Pipe per attivare l'analisi SonarCloud
Analizza il tuo codice con SonarQube Cloud per rilevare bug, vulnerabilità e code smell in più di 25 linguaggi di programmazione.
Il tuo account SonarCloud deve prima essere associato al tuo team Bitbucket o al tuo account utente. SonarQube Cloud è completamente gratuito per i progetti open-source. Se il tuo codice è closed-source, SonarQube Cloud offre anche un piano a pagamento per eseguire analisi private.
NOTA: Per i progetti che utilizzano Maven o Gradle, esegui direttamente uno scanner dedicato invece di usare questa pipe (vedi esempi).
Aggiungi il seguente frammento alla sezione script del tuo file bitbucket-pipelines.yml:
- pipe: sonarsource/sonarcloud-scan:4.1.0
# variables:
# SONAR_TOKEN: '<string>' # Optional
# EXTRA_ARGS: '<array of strings>' # Optional
# SONAR_SCANNER_JAVA_OPTS: '<string>' # Optional
# DEBUG: '<boolean>' # Optional
| Variabile | Uso |
|---|---|
| SONAR_TOKEN (*) | Token di SonarQube Cloud. Si consiglia di utilizzare una variabile sicura di repository o account. In questo caso non è necessario specificare questa variabile nel file bitbucket-pipelines.yml. |
| EXTRA_ARGS | Parametri di analisi aggiuntivi (consulta la documentazione) |
| SONAR_SCANNER_JAVA_OPTS | Opzioni JVM dello scanner (es. "-Xmx256m") |
| DEBUG | Attiva informazioni di debug aggiuntive. Predefinito: false. |
(*) = variabile obbligatoria.
Questa pipe incapsula l'esecuzione dell'analizzatore di codice di SonarQube Cloud per rilevare bug, vulnerabilità e code smell. SonarQube Cloud può quindi decorare le tue Pull Request e fornire informazioni sulla qualità del codice. Guida introduttiva disponibile qui: Inizia con Bitbucket Cloud.
Per usare questa pipe devi configurare un progetto su SonarQube Cloud, quindi utilizzare il token generato in una variabile sicura denominata SONAR_TOKEN nel tuo repository o account Bitbucket personale/di team.
Esempio base:
- pipe: sonarsource/sonarcloud-scan:4.1.0
Un esempio leggermente più avanzato:
- pipe: sonarsource/sonarcloud-scan:4.1.0
variables:
EXTRA_ARGS: ['-Dsonar.projectDescription="Project with sonarcloud-scan pipe"', '-Dsonar.eslint.reportPaths=report.json']
SONAR_SCANNER_JAVA_OPTS: "-Xmx512m"
DEBUG: "true"
Questo esempio utilizza una descrizione personalizzata del progetto su SonarQube Cloud, legge il report prodotto da eslint, imposta la memoria massima a 512MB e abilita l'output verbose.
Se desideri aiuto con questa pipe, o hai un problema o una richiesta di funzionalità, faccelo sapere sul nostro forum della community.
Se segnali un problema, includi: