Note
Repositoryrichtlinien befinden sich derzeit in der public preview. Änderungen sind vorbehalten.
Du kannst eine Repositoryrichtlinie erstellen, um wichtige Ereignisse im Lebenszyklus deiner Repositorys zu steuern, z. B. wer Repositorys erstellen oder löschen kann. Eine Repositoryrichtlinie ist eine Sammlung von Einschränkungen, mit denen du flexibel steuern kannst, für welche Benutzer diese gelten und welche die Zielrepositorys sind.
In einer Repositoryrichtlinie kannst du Folgendes einschränken:
- Welche Sichtbarkeitsoptionen für neue Repositorys und Sichtbarkeitsänderungen zulässig sind
- Wer Repositorys erstellen kann
- Wer Repositorys löschen kann
- Wer Repositorys aus einer Organisation heraus **übertragen ** kann
- Wie Personen Repositorys benennen können
Tip
Wenn du ein Organisationsbesitzer bist, kannst du eine Repositoryrichtlinie für eine bestimmte Organisation erstellen. Weitere Informationen finden Sie unter Verwalten der Verwendung von Repositorys in deiner Organisation.
Beispiele
Du kannst eine Repositoryrichtlinie unter anderem für folgende Aufgaben verwenden:
- Sicherstellen, dass alle neuen Repositorys einer bestimmten Benennungskonvention folgen, beispielsweise
kebab-case
- Verhindern des Löschens von Repositorys außer durch Organisationsadministratoren
- Zulassen, dass öffentliche Repositorys nur in der „Open Source“-Organisation in deinem Unternehmen erstellt werden
- Verhindern, dass öffentliche Repositorys in private Repositorys geändert werden, um potenziellen Verlust von Metadaten zu vermeiden
Wie wähle ich Zielrepositorys aus?
Zunächst wählst du Organisationen in deinem Unternehmen aus. Du kannst alle Organisationen auswählen, aus einer Liste auswählen oder eine dynamische Regel mithilfe der fnmatch
-Syntax erstellen. Wenn du Enterprise Managed Users verwendest, kannst du auch alle Repositorys auswählen, die sich im Besitz von Benutzern deines Unternehmens befinden.
Anschließend wählst du Repositorys in den ausgewählten Organisationen aus. Es wird empfohlen, Repositoryrichtlinien zusammen mit benutzerdefinierten Repositoryeigenschaften zu nutzen. Durch das Hinzufügen von benutzerdefinierten Eigenschaften zu Repositorys kannst du diese Repositorys in einer Richtlinie flexibel auswählen.
Du kannst beispielsweise eine Eigenschaft hinzufügen, um Repositorys zu markieren, die Produktionsdaten oder andere vertrauliche Informationen enthalten, und dann verhindern, dass diese Repositorys öffentlich gemacht werden können.
Weitere Informationen zum Erstellen und Festlegen von benutzerdefinierten Eigenschaften findest du unter Verwalten von benutzerdefinierten Eigenschaften für Repositorys in Ihrer Organisation.
Interagieren mit anderen Richtlinien
Einige der verfügbaren Einschränkungen sind Duplikate von Richtlinien, die du möglicherweise auf der Seite „Member privileges“ in den Organisations- oder Unternehmenseinstellungen festgelegt hast.
Durch das Erstellen einer Repositoryrichtlinie werden deine vorhandenen Richtlinien für Mitgliederberechtigungen nicht außer Kraft gesetzt. Diese Richtlinien sind additiv, sodass die restriktivste Version einer Richtlinie gilt. Dies gilt sowohl für Mitgliedsberechtigungsrichtlinien als auch für andere Repositoryrichtlinien, die Personen auf Unternehmens- oder Organisationsebene erstellt haben.
Im Vergleich zu Mitgliedsberechtigungsrichtlinien haben Repositoryrichtlinien mehrere Vorteile:
- Sie bieten flexiblere Auswahlmöglichkeiten für Zielorganisationen und -repositorys.
- Mit ihnen kannst du es bestimmten Akteuren ermöglichen, die Richtlinien zu umgehen.
- Sie sind für Organisationsbesitzer sichtbar, wodurch transparenter wird, was erlaubt ist.
- Sie ermöglichen es dir, Repositorys im Besitz von Enterprise Managed Users auszuwählen.
Erstellen einer Repositoryrichtlinie
- Klicke auf GitHub in der oberen rechten Ecke auf dein Profilfoto.
- Klicke je nach deiner Umgebung auf Dein Unternehmenoder auf Deine Unternehmen, und klicke dann auf das Unternehmen, das du anzeigen möchtest.
- Klicken Sie auf der linken Seite der Seite in der Randleiste des Enterprise-Kontos auf Richtlinien
- Klicke unter „Policies“ auf Repository.
- Klicken Sie auf Neue Richtlinie.
- Konfiguriere deine neue Richtlinie, und klicke dann auf Create. Hilfe findest du in den folgenden Unterabschnitten.
Richtlinienname
Verwende ein beschreibendes Element, um den Zweck der Richtlinie darzustellen. Organisationsbesitzer können die Richtlinie anzeigen, d. h. gute Namen schaffen mehr Klarheit. Beispiel: Prevent public repos on production
Erzwingungsstatus
Wenn die Richtlinie nicht erzwungen werden soll, wenn sie erstellt wird, lege diese auf „Disabled“ fest. Andernfalls wird „Active“ festgelegt.
Zulassungsliste
Wähle aus, welche Rollen und Teams die Einschränkungen in dieser Richtlinie umgehen können.
Targets
Wähle aus, für welche Organisationen und Repositorys die Richtlinie gilt.
Zielorganisationen
Wähle alle Organisationen aus, wähle einige vorhandene Organisationen aus, oder lege anhand des Namens eine dynamische Liste fest. Wenn du Enterprise Managed Users verwendest, kannst du auch alle Repositorys auswählen, die sich im Besitz von Benutzern deines Unternehmens befinden.
Wenn du eine dynamische Liste festlegst, fügst du mithilfe der fnmatch
-Syntax ein oder mehrere Benennungsmuster hinzu. Beispielsweise würde die Zeichenfolge *open-source
mit allen Organisationen übereinstimmen, deren Namen mit open-source
enden. Weitere Informationen zur Syntax findest du unter Erstellen von Regelsätzen für ein Repository.
Zielrepositorys
Wähle aus, welche aktuellen und zukünftigen Repositorys in den ausgewählten Organisationen ausgewählt werden sollen. Du kannst alle Repositorys auswählen oder nach einer benutzerdefinierten Eigenschaft eine dynamische Liste festlegen.
Richtlinien
Wähle aus, welche Einschränkungen enthalten sein sollen. Wenn die Richtlinie aktiv ist, gelten die Einschränkungen für alle Zielrepositorys, können jedoch von Benutzern oder Teams auf der Zulassungsliste umgangen werden.
Wenn du die Richtlinie „Restrict names“ auswählst, musst du reguläre Ausdrücke verwenden, um ein Muster festzulegen, mit dem Repositorynamen entweder übereinstimmen oder nicht übereinstimmen müssen. Ein Muster zum Erzwingen der Benennung kebab-case
würde z. B. wie folgt aussehen: ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$
.
- Muster unterstützen die RE2-Syntax. Weitere Informationen findest du im Syntaxleitfaden von Google.
- Klicke auf Test pattern, und gib dann ein Muster und einen Testwert ein, um deine Ausdrücke zu überprüfen.
Weiterführende Themen
Weitere Informationen zum Festlegen zusätzlicher Richtlinien für die Repositoryverwaltung findest du unter Erzwingen von Repositoryverwaltungsrichtlinien in einem Unternehmen.