Skip to main content

Festlegen von Regelsatzumgehungen für Repositorymigrationen

Beim Migrieren von Repositorys mit GitHub Enterprise Importer kann die Auswertung von Regelsätzen auf Organisationsebene und auf Unternehmensebene dazu führen, dass Git-Pushs fehlschlagen, es sei denn, Repositorymigrationen werden zur Umgehungsliste im Ausnahmemodus hinzugefügt.

Hintergrund

Wenn Sie ein Repository mit GitHub Enterprise Importer importieren, überträgt ein interner Dienst die Git-Daten des Repositorys an GitHub und fasst dabei die Referenzen für eine bessere Leistung zusammen. Dadurch wird ein möglicher Fall beschrieben, in dem die Auswertung von Regelsätzen auf Organisations- oder Unternehmensebene gegen die übermittelten Refs zu einem Timeout führen kann, was dazu führt, dass die gesamte Repository-Migration fehlschlägt.

Da GitHub Enterprise Importer die Git-Pushvorgänge als Migrationsvorgänge gekennzeichnet sind, können Sie Regelsatzumgehungen erstellen, die nur für Repositorymigrationen und nicht für andere Akteure gelten. Dadurch wird verhindert, dass Regelsatzauswertungen ablaufen und Migrationsfehler verursachen.

"Immer zulassen" vs. "Ausnahme"

Umgehungen von Regeln gibt es in zwei Typen: "Immer zulassen" und "Ausnahme". Ihre Unterschiede sind subtil, aber wesentlich bei Repository-Migrationen.

ModusBehavior
Immer zulassenDas Regelset wird ausgewertet und die ausgewählten Akteure werden aufgefordert, es zu umgehen.
BefreitDas Regelwerk wird nicht ausgewertet und es wird keine Aufforderung zum Umgehen angezeigt.

Die wichtigste Unterscheidung für die Zwecke von Git-Migrationen ist nicht, ob das Regelset bestanden oder fehlgeschlagen ist („immer zulassen“ wäre in diesem Fall ausreichend), sondern ob das Regelset überhaupt ausgewertet wird (was „befreite“ Umgehungen erfordert).

Hinzufügen einer Umgehung

Die folgenden Schritte führen Sie durch das Konfigurieren von Regelsatzumgehungen, die für Migrationen erforderlich sind. Sie benötigen Organisationsadministrator- oder Unternehmensadministratorberechtigungen, um die entsprechenden Regelsätze zu bearbeiten.

  1. Erweitern Sie in den Einstellungen Ihrer Organisation den Abschnitt "Repository ", und navigieren Sie zu "Rulesets".

  2. Navigieren Sie zu dem Regelsatz, das Sie aktualisieren möchten. Im Abschnitt "Umgehungsliste " wird entweder eine leere Liste oder bereits konfigurierte Umgehungen angezeigt.

  3. Wenn Repository-Migrationen in der Bypass-Liste nicht vorhanden sind, klicken Sie auf Umgehung hinzufügen. Eine Dropdownliste mit den verfügbaren Umgehungsakteuren wird angezeigt; aktivieren Sie das Kontrollkästchen neben Repositorymigrationen, und beachten Sie, dass der Eintrag in Ihrer Umgehungsliste mit einem Standardmodus von "Immer zulassen" angezeigt wird.

  4. Klicken Sie im Repository-Migrationseintrag auf das Menü ··· Es werden zwei Modusoptionen und eine Löschaktion angezeigt. Wählen Sie Ausgenommen aus. Lassen Sie den Modus nicht auf "Immer zulassen" eingestellt, da wie oben erwähnt, Immer zulassen Umgehungen die Auswertung weiterhin erlauben, was zu Zeitüberschreitungen führen kann. Die Liste der Umgehungen zeigt jetzt Repository-Migrationen im Modus "Ausgenommen".

  5. Scrollen Sie zum Ende der Regelsatzseite, und klicken Sie auf " Änderungen speichern". Die Umgehung wird sofort für nachfolgende Migrationsläufe wirksam.

Sicherheit und Nebenwirkungen

Wie oben erwähnt, verwendet GitHub Enterprise Importer einen bestimmten Pfad zum Pushen von Git-Daten, und die Repositorymigrationen umgehen ausschließlich Ziele über diesen Pfad – es existiert kein Pfad, bei dem gewöhnliche Benutzer oder Git-Pushes an bestehende Repositories Regeln umgehen können, indem die Repository-Migrationsumgehung eingesetzt wird.

Es wird empfohlen, alle Repository-Migrationsumgehungen so lange bestehen zu lassen, wie Sie Migrationen durchführen. Nach Abschluss der Migration stellt die Beibehaltung der Umgehung kein Sicherheitsrisiko dar.