Jenkins-SonarQube-Integration

Nehmen wir ein Szenario an: Nachdem ich Code an GitHub übergeben habe. Ich möchte meine Codequalität verbessern, Fehler, Schwachstellen, Codegerüche usw. kennen. (statische Codeanalyse) für meinen Code, bevor ich meinen Code automatisch mit Jenkins erstelle, und ich möchte, dass diese Aktivität jedes Mal ausgeführt wird, wenn ich Code festschreibe.

In diesem Szenario für die kontinuierliche Prüfung und kontinuierliche Integration des Codes. Wir werden die Best Practice mit GitHub-Jenkins-SonarQube Integration für dieses Szenario folgen.

Durchfluss : Sobald der Entwickler den Code an GitHub festschreibt, ruft Jenkins den Code aus dem Repository ab und führt eine statische Codeanalyse mit Hilfe des Sonarscanners durch und sendet einen Analysebericht an den SonarQube-Server.

Voraussetzung :

  1. Jenkins ist mit GitHub mit einem Build-Trigger eingerichtet (in meinem Fall ist es Poll SCM) Wenn dies nicht geschieht, folgen Sie bitte diesem Tutorial — https://medium.com/@amitvermaa93/jenkins-github-with-java-maven-project-c17cdba7062
  2. SonarQube läuft und Sie haben Sonar-Scanner-Setup im System. Wenn nicht, folgen Sie bitte dem Tutorial- https://medium.com/@amitvermaa93/sonarqube-setup-windows-e6a6c01be025

Schritt 1. Öffnen Sie SonarQube Server- Gehen Sie zu Administration > Klicken Sie auf Sicherheit > Benutzer > Klicken Sie auf Token (Bild 1)> Token mit einem Namen generieren > Kopieren Sie das Token (Bild 2), es wird in Jenkins für die Sonar-Authentifizierung verwendet.

Bild 1

Bild 2

Schritt 2. SonarQube mit Jenkins einrichten – Gehen Sie zu Jenkins verwalten > System konfigurieren > SonarQube Server Abschnitt > SonarQube hinzufügen > Benennen Sie es, geben Sie die Server-URL als http an://<IP>:<Port> > und Authentifizierungstoken vom SonarQube Server kopiert > Anwenden und speichern

Schritt 3. Installieren Sie das SonarQube-Plugin in Jenkins. Gehen Sie zu Jenkins verwalten > Plugins verwalten > Verfügbar > Nach SonarQube Scanner suchen> Installieren.

Laden Sie SonarScanner herunter, wenn Sie https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

nicht habenKonfigurieren Sie den Sonarscanner in Jenkins : Gehe zu Mange Jenkins > Globale Toolkonfiguration > Scrollen Sie nach SonarQube Scanner > Sonarscanner hinzufügen > benennen Sie es, deaktivieren Sie es, wenn Sie bereits Sonar haben, sonst wird es automatisch für Sie heruntergeladen und Ihr Sonarscanner-Setup wird durchgeführt (in meinem Fall habe ich bereits) > Geben Sie den Pfad zum Sonar Runner Home wie im Bild unten

Schritt 4. Erstellen Sie einen Job- New Item > -Namen und wählen Sie einen Projekttyp aus (in meinem Fall wähle ich ein Maven-Projekt aus, für das Sie sich auch entscheiden können))

Schritt 5. Setzen Sie Git unter SCM Abschnitt und verwenden Sie * * * * * für Poll SCM unter Build Trigger Abschnitt. Wählen Sie im Abschnitt Build Environment add pre-buid step > Execute SonarQube Scanner

Schritt 6. Erstellen Sie eine .Eigenschaftendatei an einem beliebigen Speicherort und Pfad zur Aufgabe wie unten angegeben (ich habe sie im Jenkins-Arbeitsbereichsordner erstellt). Diese Eigenschaftsdatei wird projektspezifisch sein. Es enthält bestimmte Sonar-Eigenschaften wie den zu scannenden Ordner, den beim Scannen auszuschließenden Ordner, den Projektschlüssel und vieles mehr https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

Innen Sonar-Scanner.eigenschaften schreiben Sie unten Code –

sonar.projectKey=github-jenkins-sonar
sonar.Hauptquellen=./src

Um es einfach zu halten, habe ich nur zwei Eigenschaften (wie oben) verwendet, sonar.Die projectKey-Eigenschaft erstellt ein Projekt in Ihrem SonarQube-Server mit demselben Namen, wenn das Projekt nicht vorhanden ist.quellen definiert, welcher Ordner gescannt werden soll. Sie können entweder einen relativen Pfad aus Ihrem Jenkins-Jobarbeitsbereich oder einen tatsächlichen Pfad zu dem Ordner angeben, den Sie scannen möchten.

Da habe ich verwendet./ src (use / for windows path ) das bedeutet, dass ich mich gerade in meinem Arbeitsbereich befinde, dh auf C:\Users\Amit Verma\.jenkins \ workspace \ Jenkins-GitHub-SonarQube und von hier aus gebe ich den Pfad zu dem Ordner (src) an, den ich scannen möchte.

Schritt 7. Bauen Sie den Job. Wenn Sie nach erfolgreichem Build Build-Protokolle sehen, werden die gescannten Dateien und Ordner angezeigt und nach dem Scannen der Analysebericht an den von Ihnen integrierten SonarQube-Server gesendet.

Schritt 8. Klicken Sie im Job-Dashboard auf das Sonar-Symbol oder navigieren Sie zum Sonar-Server Klicken Sie auf Projekte (in der Kopfzeile) Sie sehen ein neues Projekt mit demselben Projektschlüssel, den Sie im Sonar-Scanner angegeben haben.eigenschaften-Datei. Jetzt können Sie in Ihr Projekt gehen und den Bericht analysieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.