Befehlszeilenschnittstelle zur lokalen Ausführung der Codacy -Code -Analyse.
Mit einem einzigen Befehl können Sie:
curl -L https://github.com/codacy/codacy-analysis-cli/archive/master.tar.gz | tar xvz
cd codacy-analysis-cli- * && sudo make installSobald die Voraussetzungen erfüllt sind, ist es an der Zeit, die Konnektivität zwischen Bash und Docker zu ermöglichen.
Es ist obligatorisch, dass der Daemon ohne TLS ausgesetzt ist. Um dies zu tun, gehen Sie zu Docker -Einstellungen -> allgemein. Klicken Sie einfach auf das Kontrollkästchen mit dem Etikett 'Disemon auf TCP: // localhost: 2375 ohne TLS' und Docker werden neu geladen.
Jetzt ist es Zeit, zum Bash zu gehen und den Docker -Client zu installieren und zu konfigurieren.
Wenn Sie Windows 10 (oberhalb sudo ln -s "/mnt/c/Program Files/Docker/Docker/resources/bin/docker.exe" /usr/local/bin/docker 1803 erstellen) verwenden
Wenn Sie eine frühere Version von Windows 10 verwenden, finden Sie hier ein sehr einfaches Tutorial.
Da Sie die WSL verwenden, muss der Variable docker_host an tcp://0.0.0.0:2375 konfiguriert werden, um dies einfach den folgenden Befehl in die Bash einzugeben
export DOCKER_HOST=tcp://0.0.0.0:2375
Es ist auch möglich, diese Variable zu Ihren .bashrc- oder .bash_profile -Dateien hinzuzufügen, damit die Variable immer fertig ist, wenn Sie die Bash starten
echo "export DOCKER_HOST=tcp://0.0.0.0:2375" >> ~/.bash_profile
echo "export DOCKER_HOST=tcp://0.0.0.0:2375" >> ~/.bashrc
Wenn Sie Apple Silicon verwenden, stellen Sie bitte sicher:
Use Rosetta for x86/amd64 emulation on Apple Silicon (unter Merkmalen in der Entwicklung ) Zu diesem Zeitpunkt ist Codacy-Analyse-Cli bereit zu installieren.
Gehen Sie in Bash in den Ordner, den Sie herunterladen möchten, und geben Sie die folgenden Befehle ein:
sudo apt-get install make
curl -L https://github.com/codacy/codacy-analysis-cli/archive/master.tar.gz | tar xvz
cd codacy-analysis-cli-*
Aufgrund der Verwendung der WSL ist es erneut obligatorisch, die beiden hervorgehobenen Linien zum Makefile in diesem Verzeichnis hinzuzufügen.
Vor dem Testbereich :
export DOCKER_HOST=tcp://0.0.0.0:2375
und in der Installation Abschnitt:
docker login
Geben Sie schließlich den folgenden Befehl ein und die Installation beginnt
sudo make install
Wenn Dockers Benutzername erforderlich ist, schreiben Sie unbedingt den Benutzernamen und nicht die E-Mail, da sie je nach Erstellung Ihres Docker-Kontos unterschiedlich sind.
codacy-analysis-cli analyze
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > java -jar codacy-analysis-cli-assembly-{VERSION}.jar analyze
--tool <TOOL-SHORT-NAME>
--directory <SOURCE-CODE-PATH>
# other options
sbt " codacyAnalysisCli/runMain com.codacy.analysis.cli.Main analyze --tool <TOOL-SHORT-NAME> --directory <SOURCE-CODE-PATH> "docker run
--rm=true
--env CODACY_CODE= " $CODACY_CODE "
--volume /var/run/docker.sock:/var/run/docker.sock
--volume " $CODACY_CODE " : " $CODACY_CODE "
--volume /tmp:/tmp
codacy/codacy-analysis-cli
analyze --tool < TOOL-SHORT-NAME >Das Standardformat für die CLI -Ausgabe ist Text und ist in 3 Kategorien unterteilt:
Probleme, die von den Tools gemeldet wurden, die zwischen 3 verschiedenen Ebenen variieren ( Error , Warning und Info ). Beispiel:
Found [Error] `Expected "#E1675A" to be "#e1675a" (color-hex-case)` in styles/variables.less:4 (Stylelint_color-hex-case)
Found [Warning] `'object short notation' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).` in scripts/main.js:28 (iterator)
Found [Info] `Missing semicolon.` in views/components/Progress.jsx:18 (asi)
Die Metrikendaten werden für jede Datei gedruckt und enthält 5 Datenarten:
LOC - CodezeilenCLOC - kommentierte CodezeilenCC - Zyklomatische Komplexität#methods - Anzahl der Methoden#classes - Anzahl der KlassenBeispiel:
Found [Metrics] in generic/Test.java:
CC - 33
LOC - 778
CLOC - 864
#methods - 3
#classes - 1
Jeder gefundene Klon wird mit Informationen über die Gesamtzahl der Zeilen, die Anzahl der Token und alle Vorkommen (die Linien, an denen er beginnt und wo er endet), gedruckt wird. Beispiel:
Found [Clone] 7 duplicated lines with 10 tokens:
generic/test.rb
l. 681 - 687
l. 693 - 699
generic/another_test.rb
l. 601 - 607
l. 193 - 199
analyze - Führen Sie eine Codacy -Analyse über ein Verzeichnis/eine Dateien aus--help -Zeigt alle Konfigurationsoptionen, ihre Bedeutung und mögliche Werte an.--verbose -Führen Sie das Tool mit ausführlicher Ausgabe aus--tool -Wählen Sie das Tool zur Analyse des Codes (z.--directory -Wählen Sie das zu analysierende Verzeichnis aus--codacy-api-base-url oder env. CODACY_API_BASE_URL - Ändern Sie die CODACE -Installations -API -URL, um die Konfiguration abzurufen (z. B. Installation von Enterprise)--output -Senden Sie die Ausgabeergebnisse an eine Datei--format [Standard: Text] -Ändern Sie das Ausgabedformat (z. B. JSON)--commit-uuid [Standard: Neueste Komitee für die aktuelle GIT-Zweigstelle]-Legen Sie das Commit UUID fest, das die Ergebnisse zu Codacy erhält--skip-commit-uuid-validation [Standard: Falsch]-Kraft mit einem Commit UUID, auch wenn es nicht zum aktuellen Git-Zweig gehört.--skip-uncommitted-files-check--upload [Standard: Falsch] -Anfrage, die Ergebnisse in die Kodazie zu überschreiten--upload-batch-size [Standard: 50000]-Maximale Anzahl der Ergebnisse in jedem Stapel zum Hochladen in Codacy--skip-ssl-verification [Standard: Falsch]-Überspringen Sie die Überprüfung des SSL-Zertifikats bei der Kommunikation mit der Codacy-API--parallel [Standard: 2] -Anzahl der Tools, die parallel ausgeführt werden sollen--max-allowed-issues [Standard: 0]-Maximale Anzahl von Problemen, die die Analyse zum Erfolg erlaubten--registry-address [Standard: leer]-Alternative Registrierungsadresse (zB artprod.mycompany/)--fail-if-incomplete [Standard: Falsch]-Die Analyse fehlen, wenn ein Tool nicht ausgeführt wird--allow-network [Standard: Falsch]-Ermöglichen Sie den Netzwerkzugriff, so dass Tools, die sie benötigen, ausgeführt werden können (z. B. FindBugs).--force-file-permissions [Standard: Falsch]-Erzwingen Sie, dass Dateien durch Ändern der Berechtigungen vor dem Ausführen der Analyse lesen können--tool-timeout [Standard: 15 Minuten]-Maximale Zeit Jedes Tool muss ausgeführt werden (zB 15 Minuten, 1 Stunde)--max-tool-memory [Standard: 3G]-Maximum des zulässigen Speichers für jede Toolausführung (in Bytes oder Verwendung der Notation der Speicherlimit-Flags von Docker)--tmp-directory [optional]-Temporäres Verzeichnis für Analysezwecke--gh-code-scanning-compat [Standard: Falsch]-Reduzieren Sie die Probleme mit dem Schweregrad auf einer Ebene für Nichtsicherheitsprobleme für die Kompatibilität mit der Codescanning-Funktion von Github. Diese Option wirkt sich nur aus, wenn sie in Verbindung mit --format sarif verwendet wird. Beachten Sie, dass in diesem Fall dieselben Probleme auf der Kodazus -Seite eine höhere Priorität haben.validate-configuration - Validieren Sie die Codacy -Konfigurationsdatei--directory -Wählen Sie das Verzeichnis, in dem Sie nach der Codacy -Konfigurationsdatei suchen sollenCODACY_ANALYSIS_CLI_VERSION [Standard: Stabil] - Legen Sie eine alternative Version der CLI ein, um auszuführen. (ZB neuestes, 0,1,0-alpha3.1350, ...)SKIP_CONTAINER_ENGINE_CHECK [Standard: Falsch] - Überspringen Sie den ersten Test für das Vorhandensein von Docker -Socket (nützlich, wenn Sie in Systemen ausgeführt werden, bei denen nicht der Docker -Socket verfügbar ist).Um bestimmte erweiterte Konfigurationen durchzuführen, ermöglicht Codacy das Erstellen einer Konfigurationsdatei. Weitere Informationen finden Sie in unserer Dokumentation.
Um lokal dieselbe Analyse auszuführen wie in Ihrem Code, können Sie die Konfiguration remote anfordern.
Sehen Sie, wie Sie ein Projekttoken generieren.
Euen WARNUNG: Aus Sicherheitsgründen empfehlen wir Ihnen, Ihr Projekt-API--project-tokenToken in der Umgebungsvariablen zu speichern.
codacy-analysis-cli analyze
--project-token < PROJECT-TOKEN >
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > Sehen Sie, wie Sie ein Konto -API -Token generieren.
Euen WARNUNG: Aus Sicherheitsgründen empfehlen wir Ihnen, Ihr Konto-API-Token in der--api-tokenzu speichern.
Der Anbieter, der Benutzername und der Projektname können aus der URL in Codacy abgerufen werden.
codacy-analysis-cli analyze
--api-token < API-TOKEN >
--provider < PROVIDER >
--username < USERNAME >
--project < PROJECT-NAME >
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > Code
HINWEIS: - SCAPEGOAT FIRT FALT DIE ABSCHÄFTE IN TEST, um es zu deaktivieren, setze NO_SCAPEGOAT .
sbt compile
Tests
sbt test:compile
sbt testsbt scalafmtAll scalafmtSbtsbt dependencyUpdatessbt scapegoat
sbt scalafixsbt coverage test
sbt coverageReport
sbt coverageAggregate
export CODACY_PROJECT_TOKEN= " <TOKEN> "
sbt codacyCoverageLokal
sbt 'codacyAnalysisCli/stage'
docker build -t codacy-analysis-cli .
Lokal
sbt 'set version in codacyAnalysisCore := "<VERSION>"' codacyAnalysisCore/publishLocal
Freigeben
sbt 'set version in codacyAnalysisCore := "<VERSION>"' 'set pgpPassphrase := Some("<SONATYPE_GPG_PASSPHRASE>".toCharArray)' codacyAnalysisCore/publishSigned
sbt 'set version in codacyAnalysisCore := "<VERSION>"' sonatypeRelease
7.0.0 : Fix --parallel , das die Tools nicht parallel zum Laufen gebracht hat. Um die vorherige Verhaltensanwendung wiederherzustellen --parallel 1
4.0.0 : analyse -Befehl zum analyze umbenennen. Dies ist eine Breaking -Änderung, wenn Sie die CLI mithilfe des JAR oder sbt ausführen, jedoch nicht, wenn Sie das bereitgestellte Skript verwenden.
Codacy ist eine Plattform, die Ihre technischen Schulden überwacht, Ihre Code -Qualität und -sicherheit verbessern, Ihren Entwicklern Best Practices vermittelt und Ihnen hilft, Zeit in Code -Bewertungen zu sparen. Wir helfen Entwicklern dabei, Milliarden von Code pro Tag zu versenden, indem wir Code -Bewertungen automatisieren und standardisieren.
Durch die nahtlose Integration in Workflows hilft Codacy Engineering -Teams dabei, Zeit in Codeüberprüfungen zu sparen und Codierungsfehlern zu finden, zu beheben und zu verhindern, die sich sonst als technische Schulden stapeln würden. Unsere Plattform nutzt künstliche Intelligenz, um Codes -Qualitätskorrekturen vorzuschlagen. Codacy unterstützt mehr als 40 Sprachen und Frameworks und ist in kostenloser Open-Source verfügbar.
Starten Sie eine kostenlose Testversion, um mehr zu erfahren.
Codacy hilft auch dabei, die Codeabdeckung, die Code -Duplikation und die Codekomplexität zu verfolgen.
Codacy unterstützt unter anderem PHP, Python, Ruby, Java, JavaScript und Scala.
Codacy ist für Open -Source -Projekte kostenlos.