Domanda

Ho un problema semplice, probabilmente con una risposta semplice, ma non riesco a trovare cos'è.Vogliamo implementare Sonarqube insieme a checkstyle e alcuni altri strumenti, ma non possiamo scoprire è destinato a una distribuzione centralizzata, server o su ogni macchina per sviluppatore?Tutti i tutorials mostrano impianti su macchine separate e utilizzati nel localhost, mentre esiste un esempio di un esempio di pubblicazione e i requisiti e le specifiche certamente sembrano un servizio.

D'altra parte, non sto ottenendo come gli sviluppatori inviano il loro codice per controlli se si trova su un server.

Quindi, in breve, come è schierato?Qualsiasi lista di controllo o qualcosa di simile sarebbe di grande aiuto.

È stato utile?

Soluzione

Sonarqube (precedentemente solo "Sonar") è un sistema basato su server. Naturalmente è possibile installarlo sulla macchina locale (i requisiti hardware sono minimi). Ma è un server centrale con un database.

analisi vengono eseguite da alcuni software "client" sonar, che potrebbero essere il corridore sonar, il compito del sonar ant, il plugin eclipse sonar ecc. I risultati dell'analisi possono essere caricati automaticamente sul server, dove si possono accedere tramite Applicazione Web Sonar.

In un ambiente con molti sviluppatori, è necessario eseguire un server Build (ad esempio A.G. Hudson o Jenkins), che esegue analisi del sonar automatico come parte della costruzione notturna. Altri programmi sono possibili, ma gli sviluppatori dovrebbero sapere quando possono aspettarsi aggiornamenti dei risultati dell'analisi lato server. I risultati dell'analisi automatizzata possono essere visualizzati nell'editor eclipse del singolo sviluppatore tramite il plugin Eclipse Sonar.

La documentazione architettonica su Sonar è piuttosto sparse. Ho cercato una foto per visualizzare ciò che ho appena descritto, ma non ho trovato uno ...

Altri suggerimenti

L'architettura "runtime" di Sonarqube ha diversi elementi:

    .
  1. Sonarqube Server . Contiene un database (ad esempio, mysql) e un Server Web incorporato (Tomcat). Il server Sonarqube memorizza il Risultati delle analisi (le metriche), ma non esegue il codice analisi. Questo server fornisce un'interfaccia utente web che mostra il dashboard di I progetti, varie metriche e drill down in codice, opzioni di amministrazione. Utilizza un'architettura collegabile: è possibile aggiungere / rimuovere la funitionalità tramite i plug-in.
  2. Programma che esegue l'analisi del codice sulla macchina per sviluppatori . Ci sono opzioni: (a) Se utilizzano Eclipse o Intellij, possono utilizzare il rispettivo plug-in Sonarlint, che fornisce proprietà di configurazione, opzioni di menu per eseguire l'analisi, la vista per mostrare violazioni, ecc. .; (b) gli sviluppatori possono anche eseguire l'analisi del codice tramite Maven (mvn sonar:sonar) o Gradle (gradlew sonarqube); (c) Gli sviluppatori possono eseguire le varie analisi del codice attraverso un programma chiamato Sonarqube Runner. Tutte queste opzioni di programmi che eseguono l'analisi sulla macchina per sviluppatori devono essere configurati per comunicare con un server SONARCHBE. Ad esempio, quando si esegue l'analisi del codice in Intellij utilizzando Sonarlint, le metriche verranno caricate sul server. Questo server è tipicamente condiviso da tutti gli sviluppatori, ma può anche essere localhost.
  3. Programma che esegue l'analisi del codice sul server CI / CD . Il lavoro / pipeline che costruisce un progetto software può essere configurato per eseguire l'analisi del codice SONARCHBE. Può essere fatto tramite Maven o Gradle proprio come sulla macchina dello sviluppatore o tramite un plug-in. Ci sono SONARCHBE CI Plug-in per Jenkins, Hudson, Bamboo e altri . A seconda delle dimensioni del progetto, è possibile configurare l'analisi del codice da eseguire una volta solo al giorno, e non su ciascun codice commettere o modificare le dipendenze. L'analisi del codice SONARCHBE eseguita sul server CI sarà anche inviare le metriche generate al server SONARCHBE.
  4. La documentazione di architettura Sonarqube è molto povera (per non dire assente), quindi è difficile ottenere la grande immagine. Spero che aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top