Konfigurieren Sie SonarQube-Scans für Azure DevOpsPipelines

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • Konfigurieren Sie SonarQube- oder SonarCloud-Scans auf MS Azure DevOpsPipelines. Überprüfen Azure DevOpsPipeline-Ausführungen für SonarQube-Scans in jeder Phase der Ausführung der Pipeline und rufen Listen und Details von Scans von jeder Phase bis ab DevOps Change-Geschwindigkeit. Drilldown zu den Scandetails basierend auf Kategorien.

    Vorbereitungen

    Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen, bevor Sie SonarQube-Scans für konfigurieren Azure DevOpsPipeline:
    • Sie verwenden eine kompatible SonarQube-Version. Siehe DevOps Change-Geschwindigkeit-IntegrationenFür unterstützte Toolversionen.
    • Verbinden Sie, konfigurieren Sie Azure DevOpsTool und erkennen Sie vorhandene Repositorys, Orchestration-Aufgaben und Pipelines.
    • Erstellen Sie einen SonarQube-Tooldatensatz. Weitere Informationen finden Sie unter Integration von DevOps Change-Geschwindigkeit in SonarQube.
    • Installieren Sie die SonarQube-Erweiterung über den Visual Studio-Marktplatz, und konfigurieren Sie die Verzweigungsanalyse, um die Azure DevOps-Aufgaben in Ihren Build-Definitionen zur Analyse Ihrer Projekte zu verwenden. Weitere Informationen finden Sie unter SonarQube-Dokumentation .
    • Installieren Sie die folgenden anwenderdefinierten Erweiterungsaufgaben auf Ihrem Azure DevOpsInstanz.
    Erforderliche Rolle:
    • administrator oder sn_devops.admin in DevOps Change-Geschwindigkeit
    • administrator in Azure DevOps
    • administratorrolle in SonarQube mit Zugriff auf alle Projekte, für die SonarQube-Scans konfiguriert sind.

    Warum und wann dieser Vorgang ausgeführt wird

    Standardmäßig Azure DevOpsStellt Ihnen die folgenden Aufgaben zur Ausführung eines SonarQube-Scans für Build- und Release-Pipelines bereit:
    • Bereiten Sie die Analyse in SonarCloud vor
    • Codeanalyse ausführen
    • Veröffentlichen Sie Das Quality Gate-Ergebnis
    Fügen Sie anwenderdefiniert hinzu, und konfigurieren Sie sie ServiceNowErweiterungsaufgaben, um sie Standardaufgaben zu erhalten, zu denen die Scandetails abgerufen werden sollen ServiceNow DevOpsVon Azure DevOpsPipelines erstellen und freigeben. Die abgerufenen Scandetails sind:
    • pipelineName
    • buildNumber
    • stageName
    • BranchName
    • SonarProjectKey
    • SonarInstanceUrl

    Prozedur

    1. Richten Sie ein, und konfigurieren Sie Azure DevOpsUnd Sonar Qube Integration zum Abrufen der Scan-Analyse aus Build-Pipelines.
      1. In Azure DevOpsKonsole, navigieren Sie zu Organisation > SonarIntegrationen > Pipelines > Aufträgean.
      2. Klicken Sie auf Fügen Sie Aufgaben Hinzu Symbol ( Fügen Sie zusätzliche Aufgaben hinzu), und suchen Sie nach ServiceNowErweiterungen in Fügen Sie Aufgaben hinzu Suchleiste.
      3. Fügen Sie die folgenden Aufgaben hinzu.
        • ServiceNow DevOps Erstellen Sie eine Sonar-Registrierungsaufgabe.
        • ServiceNow DevOps Sonar-Registrierungsaufgabe freigeben.
      4. Füllen Sie im Formular die Felder aus.
        Tabelle : 1. ServiceNow DevOps Sonarregistrierung Erstellen/Freigeben
        Feld Beschreibung
        Anzeigename Wird bei Eingabe des Schlüssels und der URL automatisch ausgefüllt.
        ServiceNow Endpunkt Die ServiceNowInstanzendpunkt, der während der Toolkonfiguration automatisch erstellt wird. Verwenden Sie dieselbe Serviceverbindung für diese Aufgabe.
        Sonar-Projektschlüssel Geben Sie denselben Projektschlüsselwert ein, den Sie beim Konfigurieren von verwendet haben Bereiten Sie die Analyse in SonarCloud vor Aufgabe.
        Sonar-Instanz-Url Geben Sie dieselbe URL ein, die Sie während der Toolerstellung für die Verbindung mit dem Sonar-Tool verwendet haben.
        Aufgabenname Der Name von Azure DevOpsPipeline-Auftrag.

        Dieses Feld wird nur für angezeigt ServiceNow DevOps Release-Sonarregistrierung Aufgabe.

        Wichtig:
        Stellen Sie in der Liste der Aufgaben für den Pipeline-Auftrag sicher, dass ServiceNow DevOps – Sonarregistrierung erstellen Oder ServiceNow DevOps Release-Sonarregistrierung Aufgabe wird nach hinzugefügt Codeanalyse Ausführen Aufgabe.
      Sie haben die Build-Pipelines so konfiguriert, dass Sonar-Scan-Ergebnisse an gesendet werden DevOpsAnwendung. Scan-Ergebnisse werden der Softwarequalitätsfähigkeit zugeordnet und werden von einem zugehörigen Basissystem-Subflow ( FetchSonarScanId), sobald ein Ereignis in der Tabelle „eingehende Ereignisse“ erstellt und verarbeitet wurde.
    2. Ordnen Sie Azure-Pipelines-Schritte in DevOps zu.
    3. Führen Sie die Pipeline aus.

    Ergebnisse

    Basierend auf den Scan-Ergebnissen in verschiedenen Phasen der Ausführung der Pipeline werden die Ergebnisse im entsprechenden Schritt der Pipeline in angezeigt ServiceNow DevOps. Eingehende Ereignisse werden für Benachrichtigungen erstellt, und Subflows werden basierend auf dem Benachrichtigungstyp und der Fähigkeit ausgelöst.

    Nächste Maßnahme

    • Zeigen Sie Scandetails als Teil von Aufgabenausführungen an. Zeigen Sie Details aller Sonar-Scans an, die Teil der Aufgabenausführung sind, die einem Build- oder Release-Pipeline-Ausführungsschritt zugeordnet sind.
      1. Navigieren zu DevOps > Orchestrieren > Aufgabenausführung Klicken Sie auf einen relevanten Aufgabenausführungs-Datensatz.
      2. Klicken Sie auf die zugehörige Liste Softwarequalitätszusammenfassung.
      3. Klicken Sie auf einen relevanten Scan-ID-Datensatz.
      Die Zusammenfassung des Softwarequalitätscans und die Scandetails werden angezeigt.
    • Zeigen Sie Scandetails als Teil der Change-Anforderung an. Zeigen Sie alle Scans an, die Teil dieser Build-/Release-Pipeline waren, in Softwarequalitätsergebnisse > Softwarequalitätszusammenfassung Zugehörige Liste.
      1. Navigieren zu DevOps > Orchestrieren > Pipeline-Change-Anforderungen
      2. Klicken Sie auf die zugehörige Liste Softwarequalitätszusammenfassung.
      3. Klicken Sie auf einen relevanten Scan-ID-Datensatz.
      Die Zusammenfassung des Softwarequalitätscans und die Scandetails werden angezeigt.