Supponiamo uno scenario: dopo aver commesso il codice su GitHub. Voglio ottenere la mia qualità del codice, conoscere bug, vulnerabilità, odori di codice, ecc. (analisi del codice statico) per il mio codice prima di creare automaticamente il mio codice con Jenkins e voglio che questa attività venga eseguita ogni volta che commetto il codice.
In questo scenario per l’ispezione continua e l’integrazione continua del codice. Seguiremo le migliori pratiche utilizzando l’integrazione GitHub-Jenkins-SonarQube per questo scenario.
Flusso : Non appena lo sviluppatore impegna il codice su GitHub, Jenkins recupererà / estrarrà il codice dal repository ed eseguirà l’analisi del codice statico con l’aiuto dello scanner Sonar e invierà il report di analisi al server SonarQube, quindi costruirà automaticamente il codice del progetto.
Prerequisito :
- Jenkins è configurato con GitHub con un trigger di build (nel mio caso il suo sondaggio SCM) se questo non è fatto, segui questo tutorial— https://medium.com/@amitvermaa93/jenkins-github-with-java-maven-project-c17cdba7062
- SonarQube è in esecuzione e si dispone di configurazione dello scanner Sonar nel sistema. In caso contrario si prega di seguire il tutorial- https://medium.com/@amitvermaa93/sonarqube-setup-windows-e6a6c01be025
Punto 1. Apri server SonarQube – Vai a Amministrazione > fai clic su Sicurezza > Utenti > Fai clic su token (immagine 1)> Genera token con un nome > Copia il token (immagine 2), verrà utilizzato in Jenkins per l’autenticazione Sonar.
Passo 2. Installazione SonarQube con Jenkins – Go per Gestire Jenkins > Configurazione di sistema > SonarQube sezione server > Aggiungi SonarQube > Nome, offrono Server con Url: http://<IP>:<porta> > e token di autenticazione copiato da SonarQube Server > Applica e Salva
Passo 3. Installare il plugin SonarQube su Jenkins. Vai a Gestisci Jenkins > Gestisci plugin > Disponibile > Cerca SonarQube Scanner > Installa.
Scarica SonarScanner se non hai https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Configura lo scanner Sonar in Jenkins : Andare a Gestire Jenkins > Global Strumento di Configurazione > Scorrere per SonarQube Scanner > Aggiungi sonar scanner > nome, deselezionare se si dispone già di sonar altrimenti scaricare automaticamente per voi e la vostra sonar di impostazione dello scanner verrà fatto(nel mio caso ho già) > fornire il percorso di sonar corridore di casa come nel immagine sotto
Passo 4. Crea un nome Job – New Item > e seleziona un tipo di progetto (nel mio caso sto selezionando Maven project puoi optare anche per il freestyle)
Punto 5. Imposta Git sotto la sezione SCM e usa * * * * * per il sondaggio SCM sotto la sezione Build Trigger. Nella sezione Crea ambiente aggiungi passo pre-buid > seleziona Esegui scanner SonarQube
Punto 6. Creare un .file di proprietà in qualsiasi posizione e fornire il percorso sull’attività come di seguito(l’ho creato nella cartella Jenkins workspace). Questo file di proprietà sarà specifico per il progetto. Contiene alcune proprietà del sonar come la cartella da scansionare, la cartella da escludere nella scansione, qual è la chiave del progetto e molte altre da cui puoi vederlohttps://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
All’interno sonar-scanner.proprietà scrivere sotto il codice –
sonar.projectKey=github-jenkins-sonar
sonar.fonte=./ src
Per semplificare ho usato solo due proprietà(come sopra), sonar.La proprietà projectKey creerà un progetto all’interno del server SonarQube con lo stesso nome se il progetto non esiste altrimenti aggiungerà l’analisi ad esso, sonar.sources definisce la cartella da scansionare. È possibile fornire il percorso relativo dall’area di lavoro Jenkins Job o il percorso effettivo della cartella che si desidera eseguire la scansione.
Da quando ho usato ./ src (usa / per il percorso di Windows) ciò significa che sono attualmente sul mio spazio di lavoro, ovvero su C:\Users\Amit Verma\.jenkins\workspace \ Jenkins-GitHub-SonarQube posizione e da qui sto fornendo il percorso della cartella (src) che voglio scansionare.
Punto 7. Costruire il lavoro. Dopo la compilazione di successo se è possibile vedere i registri di compilazione vi mostrerà i file e la cartella che ha scansionato e dopo la scansione ha pubblicato il rapporto di analisi al server SonarQube è stato integrato.
Punto 8. Dalla dashboard del lavoro, fare clic sull’icona sonar o passare al server Sonar fare clic su Progetti (nell’intestazione) verrà visualizzato un nuovo progetto con la stessa chiave di progetto che hai dato in sonar-scanner.file delle proprietà. Ora puoi andare all’interno del tuo progetto e analizzare il report