Die folgende Tabelle gilt für codecharter analyze. Andere Befehle verwenden
dieselben Nummern mit anderer Bedeutung (zum Beispiel liefert codecharter test
Exit-Code 1 bei fehlgeschlagenen Spec-Fällen und codecharter verify Exit-Code
1 bei erkanntem Drift). Exit-Code 6 (Lizenzfehler) gilt für jeden lizenzpflichtigen Befehl.
codecharter login, codecharter logout und codecharter auth status sind
nicht lizenzpflichtig und liefern nie 6. login endet mit 0 bei einer
abgeschlossenen Anmeldung und mit 1, wenn sie abgelehnt wurde, abgelaufen ist
oder die Credentials nicht gespeichert werden konnten; logout und
auth status enden immer mit 0. Siehe
Browser-Anmeldung.
codecharter coverage hat einen eigenen Satz: 1 unterhalb der Schwelle, 2
fehlgeschlagene oder unvollständige Tests, 3 keine Coverage-Daten, 64 Fehler
in Aufruf oder Umgebung. Vollständig aufgeführt sind sie unter
codecharter coverage.
codecharter graph verwendet einen eigenen, kleineren Satz: 2 für einen
Aufruffehler (einschließlich eines nicht aufgelösten oder mehrdeutigen
Targets) und 3 für eine fehlgeschlagene Analyse, ohne findingsbasierten
Exit-Code, da es nichts zu gaten gibt. Vollständig aufgeführt unter
codecharter graph.
| Code | Bedeutung |
|---|---|
0 |
Erfolg. Keine Findings über der --fail-on-Schwelle. |
1 |
Findings über der --fail-on-Schwelle. |
2 |
Aufruf- oder Konfigurationsfehler (zum Beispiel ungültige Flag-Kombinationen, eine fehlende Diff-Datei, kein Regelverzeichnis, eine defekte Baseline-Datei oder ein fehlendes Lockfile bei konfigurierten Profilen). |
3 |
Analyse konnte nicht ausgeführt werden. Entweder konnte die Solution nicht geladen werden, oder der Profil-Cache ist unvollständig und das Portal nicht erreichbar. Im zweiten Fall führen Sie codecharter update mit Internetverbindung aus. |
4 |
Lockfile veraltet. Bei konfigurierten Plattform-Profilen weicht der Content-Hash eines Profils von dem ab, was das Portal meldet. Führen Sie codecharter update aus. |
6 |
Lizenzfehler. Lizenzdatei fehlt, ist abgelaufen, manipuliert oder für diese CLI-Version nicht freigegeben. Siehe Lizenzdatei. |
10 |
Konfigurationsdatei strukturell ungültig. .codecharter/config.yml oder .codecharter/config.local.yml enthält fehlerhaftes YAML oder eine ungültige Struktur. Die genaue Fehlermeldung erscheint auf stderr. |
64 |
Ihre Lizenz deckt mehr als eine Organisation ab, und keine wurde per org: in .codecharter/config.yml oder der Umgebungsvariable CODECHARTER_ORG gewählt. Siehe Organisation in der CLI wählen. Unabhängig vom 64, das codecharter coverage bei einem Fehler in Aufruf oder Umgebung liefert. |
--fail-on und Exit-Code 1
codecharter analyze MySolution.sln --fail-on error
codecharter analyze MySolution.sln --fail-on warn
codecharter analyze MySolution.sln --fail-on info
| Wert | Exit-Code 1 wenn |
|---|---|
error |
mindestens ein error-Finding |
warn |
mindestens ein warn- oder error-Finding |
info |
mindestens ein Finding überhaupt |
Ohne --fail-on führt jedes Finding zu Exit-Code 1. Mit --fail-on error wird nur bei Findings mit Severity error blockiert.
Beispiele in CI-Shells
GitHub Actions
- name: CodeCharter
run: codecharter analyze MySolution.sln --fail-on error
# Exit-Code 1 macht den Step rot, GitHub stoppt den Job.
Bash mit Exit-Codes auswerten
codecharter analyze MySolution.sln --fail-on error
code=$?
case $code in
0) echo "ok" ;;
1) echo "findings over threshold" ;;
2) echo "usage or configuration error" ;;
esac