Docker Code Analysis Tool (CAT) ist ein Sonarqube Docker -Bild, das benutzerdefinierte Konfiguration und Plugins enthält, um die Codeanalyse zu realisieren.
Sonarqube ist eine offene Plattform zur Verwaltung der Codequalität.
Dieses Projekt ist kostenlose Software; Sie können es umverteilen und/oder gemäß den Bestimmungen der GNU General Public Lizenz wie von der Free Software Foundation veröffentlicht. Entweder Version 3 der Lizenz oder (nach Ihrer Option) jede spätere Version.
Sie können Sonarqube auf Github: Sonarsource/Sonarqube bekommen.
Finden Sie Gruppen -IDs, um die Sonarqube -Analyse auf (für Sonar CNES Scan -Plugin) zu ermöglichen:
getent group <group_name> | cut -d : -f3 um eine Gruppen -ID aus einem bekannten Gruppennamen zu erreichen;cat /etc/group um alle Gruppen -IDs aufzulisten. ❗ Diese Gruppe hätte bei allen Projekten zu read und alle Dateien zu durchsuchen und zu analysieren) und Berechtigungen auf dem Stammbereich des Arbeitsbereichs execution write (um C/C ++-Tools und Sonar-Scanner auszuführen).
Suchen Sie die Version, die Sie verwenden möchten, auf DockerHub: https://hub.docker.com/r/lequal/docker-cat oder verwenden Sie einfach das latest Bild, das der Master-Zweigstelle dieses Projekts entspricht.
Führen Sie den Docker Cat Container aus:
docker pull lequal/docker-cat
docker run --rm --name=cat -v < your_folder > :/media/sf_Shared:rw -p 9000:9000 -e ALLOWED_GROUPS= " <GID_1>;<GID_2>;<GID_...> " lequal/docker-cat: < version > ❗ Diese Beispiel -Verwendung --rm -Option. Wenn der Container gestoppt wird und mit allen Daten zerstört wird.
❗ Vermeiden Sie die Verwendung von 0 als GUID (z. B. -e ALLOWED_GROUPS=0 ): Es kann Konflikte mit dem Stammbenutzer des Containers verursachen.
Sie können Sonarqube von Docker Cat als Administrator mit den Standard -Sonarqube -Anmeldeinformationen anmelden. Da es nicht gesichert ist (jeder weiß es!), Leiten Sie Docker Cat in einer gesicherten Umgebung oder ändern Sie die Ausfallanmeldeinformationen.
adminadminAls Administrator können Sie jede Konfiguration ändern, die Sie als Standardwerte, aktivierte Regeln oder Qualitätsgate -Bedingungen wünschen ...
Standardmäßig verwendet Docker Cat die eingebettete H2 -Datenbank, die in Sonarqube integriert ist: Sie sollte nicht für den langfristigen Gebrauch verwendet werden. Wenn Sie damit rechnen, Ihre Daten für eine Weile zu behalten, sollten Sie in Betracht ziehen, eine stärkere Datenbank wie in der offiziellen Dokumentation beschrieben einzurichten.
Sobald der Container aktiv ist, können Sie die von Sonar CNES Scan -Plugin bereitgestellte Webschnittstelle verwenden, um eine Analyse direkt über Ihren Webbrowser auszuführen. #Todo
<your_folder>Um von allen enthaltenen Tools erreichbar zu sein, muss Ihr Quellcode in das zuvor montierte Docker -Volumen platziert werden , und die Gruppe, deren GUID an
-e ALLOWED_GROUPS=...Parameter übergeben wurde, sollte Berechtigungen im gesamten Verzeichnis haben.
❗ Wenn Sie auf einige Schwierigkeiten mit Berechtigungen für Dateien in montierten Volumes (aufgrund Ihrer Systemkonfiguration) stoßen, können Sie Ihren Code direkt in den Container kopieren. Führen Sie den Befehl docker run durch, indem Sie jede Optionen -v oder --volume -Optionen entfernen und Ihr Verzeichnis im Verzeichnis /media/sf_Shared des Containers kopieren, indem Sie diesen Befehl docker cp <my_directory> cat:/media/sf_Shared verwenden.
Öffnen Sie einfach Ihren bevorzugten Webbrowser und greifen Sie auf die Sonarqube -Schnittstelle zu, indem Sie die Docker Cat IP/URL eingeben, gefolgt von
:und dem Port 9000 des Containers zugeordnet. Wenn Sie mit dem zuvor vorgeschlagenen Befehl vorgeschlagener Standard -Befehl mit Docker Cat beginnen, sollten Sie in Ihrer Adressleistehttp://localhost:9000eingeben.
Wenn Sonarqube geladen hat, klicken Sie in der schwarzen oberen Symbolleiste auf
Moreund wählen SieCNES Analysisaus. Eine neue Seite sollte mit dem Analyseformular erscheinen.

Füllen Sie das Formular aus, indem Sie darauf achten:
- Felder mit einem roten Sternchen: Sie sind obligatorisch
WorkspaceFelder: Standardmäßig einen Punkt lassen.In diesem Bereich. Wenn Sie den Umfang der Analyse begrenzen möchten, geben Sie den relativen Pfad aus dem Verzeichnis/mnt/sf_Sharedein.WorkspaceFelder: Standardmäßig einen Punkt lassen.In diesem Bereich. Wenn Sie die als Quelldateien angesehenen Dateien/Pfad einschränken möchten (nach Testdateien), geben Sie eine coma-getrennte Liste des relativen Pfades aus, beginnend mit demWorkspace.Run C/C++ tools: Schalten Sie diese Taste ein, wenn Sie eingebettete Tools ausführen möchten (CPPcheck, Vera ++ und Ratten). Wenn Sie den C- oder C ++-Code analysieren und bereits mit CPPCheck, Vera ++ oder Ratten in Ihrem Arbeitsverzeichnis führen, können Sie das Feldsonar-project.propertiesverwenden, um den Ort dieser Ergebnisse zu bestimmen und die Analyse auszuschalten. Weitere Informationen finden Sie in der Sonar-CXX-Dokumentation.sonar-project.propertiesFeld: Verwenden Sie dieses Feld, um eine erweiterte Konfiguration hinzuzufügen. Siehe offizielle Dokumentation.

Klicken Sie einfach unten auf der Seite auf die Schaltfläche
Analyze, um die Analyse auszuführen. Wenn Sie erfolgreich ausgeführt werden, sollte ein Archiv -Download in Ihrem Webbrowser beginnen. Es enthält alle Ergebnisse Ihrer Analyse. Wenn Sie bereits eine Analyse in Ihrer Katzeninstanz haben, können Sie den Bericht ohne Wiederaufbauanalyse regenerieren, indem Sie Form inMore>CNES Reportverwenden.
Sie können eine Analyse mit der klassischen Methode ausführen, indem Sie einen von SonarSource bereitgestellten Scanner verwenden. Sie müssen einfach die URL oder IP geben, in der Docker Cat gestartet wurde, und der passende Port, den Sie in Ihrem Docker -Befehl für Port 9000 geben. Weitere Informationen verwenden Sie die Scanner von SonarSource, wie in der offiziellen Dokumentation beschrieben.
❗ Mit diesen Methoden funktioniert das autolaunchierte Werkzeug wie cppcheck möglicherweise nicht, wenn es nicht korrekt eingestellt ist.
Diese Tabellenliste Betriebssystem, auf der Docker Cat getestet wurde (markiert als ✔️) oder nicht (markiert als as❓) oder einfach nicht unterstützt (markiert als).
| Docker -Katzenversion | Linux (Centos & Debian) | Mac OS | Fenster |
|---|---|---|---|
3.2.2 | ✔️ | ❓ | ❓ |
3.0.0 | ✔️ | ❓ | ❓ |
2.1.0 | ✔️ | ❓ | ❓ |
2.0.2 | ✔️ | ❓ | ❓ |
2.0.1 | ✔️ | ❓ | ❓ |
< 2.0.0 | ✔️ | ❓ | ✔️ |
Neue und aktualisierte Software sind mit Emoji markiert?
| Werkzeuge | Versionen |
|---|---|
| ? Sonarqube-Catlab | 3.2.2 |
| ? Sonarscanner | 5.0.1.3006 |
| ? Cppcheck | 2.13.0 |
| ? I-Code CNES | 4.1.2 |
| ? Python3 | 3.10.4 |
| ? Pip | 22.0.2 |
| ? setuptools-scm | 8.0.4 |
| ? PyTest-Runner | 6.0.1 |
| ? Wrapp | 1.16.0 |
| sechs | 1.16.0 |
| ? Lazy-Object-Proxy | 1.10.0 |
| McCabe | 0,7,0 |
| ? ISORT | 5.13.2 |
| ? typisiert | 1.5.5 |
| Astroid | 2.15.2 |
| Pylint | 2.17.2 |
| cnes-pylint-Extension | 6.0.0 |
| machen | 4.3 |
| GCC | 4: 11.2.0 |
| Shellcheck | 0,8,0 |
Wenn Sie ein Problem mit dem Plugin hatten, öffnen Sie bitte ein Problem. In diesem Problem erklären Sie uns bitte, wie Sie dieses Problem reproduzieren und das Protokoll einfügen.
Wenn Sie eine PR machen möchten, geben Sie bitte den Grund für diese Pull -Anfrage ein. Wenn diese Pull -Anfrage ein Problem behebt, fügen Sie bitte die Nummer des Problems ein oder erläutern Sie innerhalb des PR, wie Sie dieses Problem reproduzieren.
Alle Details sind im Beitrag zur Verfügung.
Fehler und Feature-Anfragen: https://github.com/cnescatlab/docker-cat/issues
Lizenziert unter der GNU General Public Lizenz, Version 3.0