Skip to content
24/48h shipping across Italy
Skip to content
Documentation navigation

SonarQube Community for k0smos

Mini guida per avviare SonarQube Community Build e usarlo come controllo locale di qualita del codice k0smos.

Riferimenti ufficiali:

  • Docker: https://docs.sonarsource.com/sonarqube-community-build/server-installation/from-docker-image/installation-overview
  • Prova locale Docker/ZIP: https://docs.sonarsource.com/sonarqube-community-build/try-out-sonarqube
  • Immagini Docker ufficiali: https://hub.docker.com/_/sonarqube

Installazione tramite Docker

Uso rapido per valutazione locale:

docker run -d --name k0smos-sonarqube `
  -p 9000:9000 `
  -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true `
  sonarqube:community

Equivalente Linux/macOS:

docker run -d --name k0smos-sonarqube \
  -p 9000:9000 \
  -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
  sonarqube:community

Poi apri:

http://localhost:9000

Modificare la porta web

La porta web interna del container resta 9000; per cambiare la porta vista dal browser modifica solo il lato sinistro del mapping -p. Per esempio, per esporre SonarQube su http://localhost:19000:

docker run -d --name k0smos-sonarqube -p 19000:9000 -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true sonarqube:community

Se il container esiste gia, fermalo e ricrealo con il nuovo mapping:

docker rm -f k0smos-sonarqube
docker run -d --name k0smos-sonarqube -p 19000:9000 -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true sonarqube:community

Credenziali iniziali:

login: admin
password: admin

Nota: SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true e adatto solo a una prova locale. Per un uso persistente o condiviso, prepara i requisiti host richiesti da SonarQube e usa un database PostgreSQL esterno invece del database embedded.

Installazione tramite ZIP

Uso rapido per valutazione locale:

  1. Installa Java 17 o Java 21.
  2. Scarica il pacchetto ZIP SonarQube Community Build dal sito SonarSource.
  3. Estrai lo ZIP come utente non amministratore, per esempio:
    • Windows: C:\sonarqube
    • Linux/macOS: /opt/sonarqube
  4. Avvia SonarQube:

Windows:

C:\sonarqube\bin\windows-x86-64\StartSonar.bat

Linux/macOS:

/opt/sonarqube/bin/<OS>/sonar.sh console

Poi apri http://localhost:9000 e accedi con admin / admin.

Per cambiare la porta web nella versione ZIP, modifica il file conf/sonar.properties dentro la directory SonarQube e imposta:

sonar.web.port=19000

Riavvia SonarQube e apri http://localhost:19000.

Configurazione obbligatoria

Questa e la sequenza minima da completare prima di lanciare un'analisi k0smos.

  1. Avvia SonarQube con Docker o ZIP.
  2. Attendi che http://localhost:9000 risponda.
  3. Accedi con admin / admin.
  4. Cambia subito la password dell'utente admin.
  5. Crea un nuovo progetto:
    • project key: k0smos
    • display name: k0smos
  6. Genera un token di analisi dedicato al progetto.
  7. Installa SonarScanner CLI nella macchina da cui analizzi il repo, oppure usa lo scanner proposto dalla UI.
  8. Dal root del repo k0smos, crea il file sonar-project.properties. Il nome deve essere questo, al singolare project e con estensione .properties; SonarScanner lo cerca nella directory da cui esegui sonar-scanner.

Esempio minimale per sonar-project.properties nella root del progetto:

sonar.projectKey=k0smos
sonar.projectName=k0smos
sonar.sources=.
sonar.host.url=http://localhost:9000
sonar.exclusions=vendor/**,node_modules/**,var/**,log/**,public/build/**,public/vendor/**,reports/**,tests/_output/**

Non inserire token in sonar-project.properties: il file puo essere versionato, mentre il token deve restare in un secret, in una variabile ambiente o passato solo localmente al comando.

  1. Esegui l'analisi passando il token fuori dal file versionato:
sonar-scanner `
  -Dsonar.token="<token-generato-da-sonarqube>"

Linux/macOS:

sonar-scanner \
  -Dsonar.token="<token-generato-da-sonarqube>"
  1. Torna nella UI SonarQube, apri il progetto k0smos e verifica che la prima analisi sia presente.

Collegare SonarQube a VS Code

Per VS Code usa l'estensione SonarQube for IDE in Connected Mode.

Token consigliati:

  • Token di analisi progetto: usalo per sonar-scanner e per la CI. Serve a pubblicare analisi nel progetto k0smos.
  • User Token personale: usalo per VS Code. Serve all'estensione per autenticarsi alla tua istanza SonarQube e leggere il binding del progetto.

Quindi: non usare in VS Code il token di analisi del progetto, se puoi evitarlo. Crea un token utente dedicato, con nome riconoscibile, per esempio vscode-k0smos.

Sequenza consigliata:

  1. Installa l'estensione SonarQube for IDE in VS Code.
  2. In SonarQube, apri il profilo utente e genera un User Token dedicato a VS Code.
  3. In VS Code, apri la vista SonarQube for IDE / Connected Mode.
  4. Aggiungi una connessione:
    • server URL: http://localhost:9000 oppure la porta che hai scelto,
    • token: il tuo User Token personale,
    • connection name: k0smos-local.
  5. Apri la cartella root del repo k0smos in VS Code.
  6. Se viene rilevato sonar-project.properties, scegli Configure Binding.
  7. Associa la cartella locale al progetto remoto con project key k0smos.

Il binding VS Code usa il progetto SonarQube per sincronizzare regole e issue con l'IDE; l'analisi completa resta responsabilita di sonar-scanner o della CI.

Comandi utili Docker

docker logs -f k0smos-sonarqube
docker stop k0smos-sonarqube
docker start k0smos-sonarqube
docker rm -f k0smos-sonarqube

Note operative

  • Non versionare token SonarQube o password.
  • Per analisi ripetibili, preferisci sonar-project.properties con soli valori non segreti e passa sempre sonar.token da ambiente, CI secret o parametro locale.
  • La Community Build non include tutte le feature commerciali; usala come controllo locale/base di qualita, non come sostituto di policy enterprise.