2016-06-20 25 views
22

Ho installato GitLab CE (v8.5 almeno) sul mio server. Mi piacerebbe integrarlo con sonarqube in modo che le richieste di unione mostrino eventuali problemi nella sezione commenti. Qualcuno ha integrato con successo questi 2 sistemi?integrazione gitlab con sonarqube

Al momento, solo il plug-in sonarqube trovato è il seguente, ma non sono in grado di integrarlo correttamente con GitLab.

https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-plugin

ho usato un contenitore per la finestra mobile sonarqube (v5.5) e copiato il plugin nella directory delle estensioni. Configurato token gitlab utente e gitlab uri nella pagina delle impostazioni del plugin in sonarqube.

sto usando GitLab CI per l'integrazione continua e ho il seguente lavoro composto per sonarqube (utilizzando Gradle)

sh gradlew sonarqube -Psonar.analysis.mode=preview -Psonar.issuesReport.console.enable=true \ 
    -Psonar.gitlab.commit_sha=$CI_BUILD_REF -Psonar.gitlab.ref_name=$CI_BUILD_REF_NAME \ 
    -Psonar.gitlab.project_id=$CI_PROJECT_ID 

Ma, io non sono sicuro di cosa dopo questo. Coppia di domande:

  1. Cosa succede quando una richiesta di unione non esiste ancora? Nel mio flusso di lavoro git, gli utenti invieranno una richiesta di unione dopo aver finito di lavorare sul loro ramo. Quindi, in che modo questo plug-in saprà quale unione si richiede di aggiornare?

  2. In questo momento ho impostato il compito di valvolare sonarqube in esecuzione solo sul ramo principale. Penso che questo dovrà essere cambiato anche per le filiali degli utenti, giusto?

Ho provato a inviare una richiesta di unione, ma non ho visto nessun commento aggiunto. Penso che mi manchi qualche configurazione o un processo. Apprezzo davvero se puoi aiutarmi a indicarmi la giusta direzione.

+0

Sei sicuro che il plugin GitLab sia realmente installato su SonarQube? (Un modo per convalidare: quando vai su Amministrazione in SonarQube, vedi GitLab sul lato sinistro?) Chiedo perché come te, stavo facendo funzionare SonarQube [con Docker] (https://github.com/harbur/docker-sonarqube) ... nota questo avvertimento: se la directory 'extensions/plugins' è un' VOLUME', allora non puoi aspettarti di 'wget' o' curl' in esso dal tuo 'Dockerfile'. Potresti pensare di aver afferrato l'estensione, ma se hai 'ls'_after_ startup potresti trovarlo, il plugin non è proprio lì – hangtwenty

+0

Grazie per la tua risposta. Ho controllato Amministrazione in Sonarqube e verificato che il plug-in si presentasse effettivamente. Dopo aver estratto l'immagine del docker sonarqube, ho effettivamente copiato i file del plugin all'interno del contenitore. – aver

+0

Ho avuto lo stesso problema. Sei riuscito a trovare una soluzione? –

risposta

2

Ho avuto lo stesso problema del tuo. I commenti non venivano visualizzati in GitLab MR. L'ho fatto funzionare con due correzioni:

  • assicurarsi che venga utilizzata la modalità di anteprima. In caso contrario, i problemi non vengono segnalati a GitLab
  • affinché i problemi vengano visualizzati come commenti GitLab, devono essere "nuovi" problemi. Se hai avviato un'analisi del tuo progetto prima di passare a GitLab, i problemi non saranno considerati come nuovi da SonarQube e nessun commento verrà aggiunto al MR.

Se questo non risolve il problema, provare a clonare il repo plug-in, l'aggiunta di tracce al codice (CommitIssuePostJob.java è il luogo per cercare), pacchetto il vaso con Maven e distribuire il vaso patch per l'installazione Sonar . È così che ho visto che non avevo nuovi problemi da segnalare.

2

@ 1: I commenti saranno aggiunti ai vostri commit e saranno poi visualizzati nella sezione di discussione di una richiesta di fusione

@ 2: Ci sono in esecuzione un'analisi completa su master e un anteprima su qualsiasi rami.