Ihre Lizenz zählt jede Organisation auf, der Sie angehören. Ist das nur eine
einzige, handelt die CLI automatisch als diese Organisation, und diese Seite
betrifft Sie nicht. Sind es mehrere, müssen restore und analyze wissen,
unter welcher Organisation, mit welchen Profilen und Berechtigungen und in
welchem Namensraum der aktuelle Lauf stattfinden soll.
Wie die CLI eine Organisation wählt
Die CLI löst die handelnde Organisation in dieser Reihenfolge auf und stoppt beim ersten Treffer:
org: <slug>in der hierarchisch aufgelösten.codecharter/config.yml(der Wert, der der analysierten Datei am nächsten liegt, gewinnt, wie bei der übrigen Konfigurationshierarchie üblich). Siehe Konfigurationsdatei.- Die Umgebungsvariable
CODECHARTER_ORG, sofernorg:nicht gesetzt ist. - Die einzige Organisation Ihrer Lizenz, sofern diese genau eine
abdeckt. Das ist der Zero-Config-Fall und braucht weder
org:noch die Umgebungsvariable. - Löst nichts davon eine Organisation auf und deckt Ihre Lizenz mehr als eine
ab, bricht die CLI mit einer Fehlermeldung und Exit-Code
64ab und nennt dabei jede Organisation, die Ihre Lizenz abdeckt, sowie den Weg zur Auswahl.
# .codecharter/config.yml
org: vistron
profiles:
- dotnet-rules@^2
# gleichwertig, ohne config.yml zu ändern
export CODECHARTER_ORG=vistron
codecharter analyze MySolution.sln
Nennen Sie eine Organisation, die Ihre Lizenz nicht abdeckt, etwa durch einen
Tippfehler oder weil Sie die Organisation zwischenzeitlich verlassen haben,
bricht die CLI mit Exit-Code 6 ab und nennt die
Organisationen, die die Lizenz tatsächlich trägt. Führen Sie
codecharter update aus, um Ihre Lizenz nach dem Beitritt zu einer neuen
Organisation zu aktualisieren; eine gecachte Lizenz spiegelt nur die
Mitgliedschaften wider, mit denen sie ausgestellt wurde.
Warum das nur bei Lizenzen mit mehreren Organisationen auftritt
Eine Lizenz mit nur einer Organisation trägt diese implizit und eindeutig, es
gibt also nichts zu wählen, und die CLI verhält sich wie bisher. Sobald eine
zweite Organisation auf Ihrer Lizenz erscheint, etwa weil Sie einem zweiten
Team hinzugefügt wurden, wird für jeden Befehl, der wissen muss, welche
Organisation mit ihren Profilen und Kontingenten gilt, eine Entscheidung
nötig. Das zeigt sich typischerweise beim nächsten CI-Lauf nach der Aufnahme
in eine zweite Organisation, solange org: noch nirgends gesetzt ist. Legen
Sie deshalb org: oder die Umgebungsvariable schon beim Onboarding in eine
zweite Organisation fest, um einen fehlschlagenden Build zu vermeiden.
Profilreferenzen und Organisationen
Eine Profilreferenz ohne Namensraum (dotnet-rules@^2) wird innerhalb der
aktuell gewählten Organisation aufgelöst. Eine Referenz mit Namensraum
(vistron/dotnet-rules@^2) kann auf das Profil einer anderen Organisation
verweisen als der, als die Sie gerade handeln; die CLI prüft dabei Ihre
aktuelle Mitgliedschaft in dieser Organisation, bevor sie das Profil
ausliefert. Der Zugriff spiegelt also stets Ihre aktuellen Mitgliedschaften
wider, nicht den Stand zum Ausstellungszeitpunkt Ihrer Lizenz.
Exit-Codes
| Code | Bedeutung |
|---|---|
64 |
Ihre Lizenz deckt mehr als eine Organisation ab, und keine wurde per org: oder CODECHARTER_ORG gewählt. |
6 |
Es wurde eine Organisation genannt (per org: oder CODECHARTER_ORG), die Ihre Lizenz nicht abdeckt. Siehe Lizenzdatei. |
Die vollständige Tabelle finden Sie unter Exit-Codes.