SonarQube konfigurieren
Continuous Delivery wird am 12. Februar 2027 in den folgenden Regionen eingestellt: au-syd, ca-mon, ca-tor, us-east. Code Risk Analyzer und DevOps Insights werden ebenfalls zu diesem Zeitpunkt in allen Regionen abgeschafft. Wenn jedoch eine Region diese Funktionen nicht aktiv nutzt, können die Funktionen in dieser Region früher eingestellt werden und keine neuen Instanzen mehr annehmen. Weitere Informationen
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:
-
Klicken Sie in der IBM Cloud Konsole auf das Menü-Symbol (
) > Plattformautomatisierung > Toolchains. Klicken Sie auf der Seite 'Toolchains' auf die Toolchain, um die zugehörige Übersichtsseite zu öffnen.
a. Klicken Sie auf Tool hinzufügen.
b. Klicken Sie im Abschnitt mit den Toolintegrationen auf SonarQube.
-
Geben Sie einen Namen für diese Instanz der SonarQube-Toolintegration ein.
-
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.
-
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.
-
Geben Sie das Kennwort oder das Authentifizierungstoken ein, das Sie zum Herstellen einer Verbindung zum SonarQube-Server verwenden.
-
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.
-
Klicken Sie auf Integration erstellen.
-
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:
| 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.
-
Rufen Sie das SonarQube-Dashboard auf, das von der URL aus den Pipelineprotokollen in der Task
static-scanerstellt wurde.
SonarQube Armaturenbretter -
Klicken Sie auf Qualitätsgates > Erstellen.
-
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.
-
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 über SonarQube, finden Sie unter SonarQube Dokumentation.
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 Tool-Integration unterstützt die folgenden Konfigurationsparameter, die Sie mit der HTTP Toolchain-API und den SDKs verwenden können, wenn Sie Tool-Integrationen erstellen, lesen und aktualisieren.
Sie müssen die Eigenschaft tool_type_id im Anforderungshauptteil mit dem Wert sonarqube angeben.
| Parameter | Verwendung | Typ | Terraform-Argument | Beschreibung |
|---|---|---|---|---|
| Blinde Verbindung | optional, aktualisierbar, Default: false |
Boolescher Wert | 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 SonarQube Server-Dashboards für diese Tool-Integration. In der grafischen Benutzeroberfläche öffnet der Browser dieses Dashboard, wenn Sie auf die SonarQube Tool-Integrationskarte 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. |