IBM Cloud Docs
SonarQube konfigurieren

SonarQube konfigurieren

SonarQube bietet eine Übersicht über den Gesamtzustand und die Qualität Ihres Quellcodes und markiert Probleme, die in neuem Code gefunden werden. Die Analysefunktionen für Code erkennen schwierige Fehler wie Dereferenzen mit Nullzeigern, logische Fehler oder Ressourcenlecks für über 20 Codiersprachen.

Gehen Sie wie folgt vor, um SonarQube so zu konfigurieren, dass die Qualität Ihres Quellcodes fortlaufend analysiert und gemessen wird:

  1. Klicken Sie in der Konsole IBM Cloud auf das Hamburger-Symbol im Menü > Plattformautomatisierung > Toolchains. Klicken Sie auf der Seite 'Toolchains' auf die Toolchain, um die zugehörige Übersichtsseite zu öffnen. Alternativ können Sie auf der Übersichtsseite Ihrer App auf der Karte für Continuous Delivery auf Toolchain anzeigen klicken. Klicken Sie anschließend auf Übersicht.

    a. Klicken Sie auf Tool hinzufügen.

    b. Klicken Sie im Abschnitt mit den Toolintegrationen auf SonarQube.

  2. Geben Sie einen Namen für diese Instanz der SonarQube-Toolintegration ein.

  3. Geben Sie die URL für die SonarQube-Instanz ein, die geöffnet werden soll, wenn Sie in Ihrer Toolchain auf die Karte für SonarQube klicken.

  4. Optional: Geben Sie den Benutzernamen ein, den Sie zum Herstellen einer Verbindung zum SonarQube-Server verwenden.

    Sie müssen einen Benutzernamen nur angeben, wenn Sie zum Herstellen einer Verbindung zum SonarQube-Server ein Kennwort verwenden. Wenn Sie zum Herstellen einer Verbindung ein Authentifizierungstoken verwenden, lassen Sie dieses Feld leer.

  5. Geben Sie das Kennwort oder das Authentifizierungstoken ein, das Sie zum Herstellen einer Verbindung zum SonarQube-Server verwenden.

  6. Wenn der Server nicht im öffentlichen Internet gefunden werden kann, wählen Sie Erweitert aus. IBM Cloud kann die von Ihnen bereitgestellten Verbindungsdetails nicht überprüfen und bestimmte Funktionen, die API-Zugriff für diesen Server erfordern, sind deaktiviert. Die Bereitstellungspipeline funktioniert nur, indem ein privater Worker verwendet wird, der über einen Netzzugriff auf diesen Server verfügt.

  7. Klicken Sie auf Integration erstellen.

  8. Klicken Sie auf der Übersichtsseite Ihrer Toolchain auf der Karte Tools anderer Anbieter auf SonarQube, um das Dashboard für die SonarQube-Instanz anzuzeigen, zu der Sie eine Verbindung hergestellt haben.

Hinzufügen von Sonarqube zur kontinuierlichen Integrationspipeline

Standardinstanz von SonarQube

Wenn Sie keine eigene SonarQube-Instanz haben, erstellt die Pipeline während der Pipelineausführung eine SonarQube-Instanz. Sie können auf diese Instanz zugreifen, nachdem die Stage "static-scan" erfolgreich ausgeführt wurde.

Vorhandene SonarQube-Instanz

Wenn Sie Ihre eigene SonarQube-Instanz zu Ihrer vorhandenen Pipeline hinzufügen möchten, fügen Sie die Tool-Integration zu Ihrer Toolchain hinzu, und fügen Sie anschließend den Integrationsparameter Sonarqube der Pipeline hinzu.

Erforderliche Parameter

Für die Ausführung des SonarQube-Scans benötigt die Pipeline die folgenden kontinuierlichen Integrationsparameter:

Continuous integration pipeline parameters
Name Typ Beschreibung Erforderlich oder optional
Clustername Text Der Name des Docker-Build-Clusters. Erforderlich
dev-region Text Die IBM Cloud-Region, die den Cluster hostet. Erforderlich
opt-in-sonar Text Die Option zum Aktivieren des SonarQube-Scans. Erforderlich
SonarQube Toolintegration Die Sonarqube-Toolintegration. Optionale

Weitere Informationen zu Pipeline-Parametern finden Sie unter Pipeline-Parameter.

Wenn Sie mehrere SonarQube-Toolintegrationen zu Ihrer Pipeline hinzufügen, können Sie zwischen diesen wechseln, indem Sie den Wert des Parameters sonarqube Pipeline ändern, der ein Toolintegrations-Parameter ist.

Aktualisieren des Qualitätsgates

Wenn Sie die SonarQube-Instanz verwenden, die die Pipeline erstellt hat, können Sie das Standardqualitätsgate aktualisieren.

  1. Rufen Sie das SonarQube-Dashboard auf, das von der URL aus den Pipelineprotokollen in der Task static-scan erstellt wurde.

    SonarQube dashboard
    SonarQube dashboars

  2. Klicken Sie auf Qualitätsgates > Erstellen.

  3. Legen Sie Ihr Qualitätsgate mit einer der folgenden Optionen fest:

    • Klicken Sie auf Als Standard festlegen, um das neu erstellte Qualitätsgate als Standard festzulegen.
    • Wählen Sie in der Statusübersicht das Projekt aus und klicken Sie dann auf Projekteinstellungen > Qualitätsgate, um das neu erstellte Qualitätsgate für das Projekt zu verwenden.
  4. Geben Sie das Qualitätsgate an, das Sie dem Projekt zuordnen möchten. Neue Scans werden von diesem Qualitätsgate ausgewertet und der Nachweis wird durch die Ergebnisse des Qualitätsgates erstellt.

Weitere Informationen zu SonarQube, finden Sie in der SonarQube.

Eigene Konfigurationsdatei verwenden

Sie können die Standardkonfiguration ändern, ohne die eigene SonarQube-Instanz zu verwenden. Erstellen Sie eine Datei sonar-project.properties in der Repo, in der Sie die Konfigurationsdatei erstellen möchten. Wenn unser Script eine vorhandene Datei configuration sonar-project.properties im Repo erkennt, verwendet es diese Datei anstelle der Standarddatei. Weitere Informationen zu den möglichen Analyseparametern in der Konfigurationsdatei finden Sie unter Analyseparameter hier.

Stellen Sie sicher, dass Sie die richtigen Anmeldeberechtigungsnachweise und die richtige Host-URL zur Konfigurationsdatei hinzufügen.

Verwendung einer anderen statischen Scanimplementierung

Sie können Ihre Datei .pipeline-config.yaml so ändern, dass Sie Ihr eigenes angepasstes Script zur Stage static-scan hinzufügen, um Ihre eigene statische Scanimplementierung zu verwenden.

Konfigurieren von SonarQube mit Hilfe der API

Die SonarQube-Toolintegration unterstützt die folgenden Konfigurationsparameter, die Sie mit der Toolchain-HTTP-API und SDKs verwenden können, wenn Sie Toolintegrationen erstellen, lesenund aktualisieren.

Sie müssen die Eigenschaft tool_type_id im Anforderungshauptteil mit dem Wert sonarqube angeben.

SonarQube
Parameter Verwendung Typ Terraform-Argument Beschreibung
Blinde Verbindung optional, aktualisierbar, ' Default: false Boolesch Blinde Verbindung Wird auf true gesetzt, um Continuous Delivery anzuweisen, die Konfigurationsvalidierung dieser Integration zu ignorieren. Legen Sie außerdem true fest, wenn der SonarQube-Server im öffentlichen Internet nicht adressierbar ist.
dashboard_url erforderlich, aktualisierbar Zeichenfolge Server-URL Die URL des Dashboars des SonarQube-Servers für diese Toolintegration In der grafischen Benutzerschnittstelle ruft der Browser dieses Dashboard auf, wenn Sie auf die Integrationskarte des Tools SonarQube klicken.
Name erforderlich, aktualisierbar Zeichenfolge Name Der Name dieser Toolintegration.
Benutzeranmeldung Optional, aktualisierbar Zeichenfolge Benutzeranmeldung Die Benutzer-ID für die Authentifizierung beim SonarQube-Server.
benutzerkennwort Optional, aktualisierbar Kennwort benutzerkennwort Das Kennwort oder Token für die Authentifizierung beim SonarQube-Server. Sie können eine Referenz auf geheime Toolchain-Schlüssel für diesen Parameter verwenden. Weitere Informationen zu Referenzen auf geheime Schlüssel finden Sie unter Schützen Ihrer sensiblen Daten in Continuous Delivery.