Skip to main content

Настройка обхода набора правил для миграций репозиториев

При миграции репозиториев с GitHub Enterprise Importer, оценка наборов правил на уровне организации и предприятия может привести к сбою push-запросов Git, если только миграции репозиторий не будут добавлены в список обхода режимом Exempt .

Основные сведения

Когда вы импортируете репозиторий с GitHub Enterprise Importer, внутренний сервис отправляет Git-данные репозитория в GitHub, объединяя рефераты для производительности. Это вводит возможный случай, когда оценка правил на уровне организации или предприятия по отправленным ссылкам может заканчиваться, что приводит к неудаче миграции репозитория в целом.

Поскольку GitHub Enterprise Importer теги, которые его Git push-уводит, как операции миграции, можно создавать обходы набора правил, которые применяются только к миграциям репозиторий, а не к другим акторам. Это предотвращает задержку оценок набора правил и сбои миграции.

«Всегда разрешаю» против «Освобождён»

Обход правил бывает двух видов: «всегда разрешающий» и «освобождённый». Их различия тонкие, но существенные для миграций репозиториев:

ModeBehavior
Всегда разрешатьНабор правил будет оценен, и выбранные участники будут предложены обойти
ОсвобождёнНабор правил не будет оцениваться, и не отображается запрос на обход

Ключевое различие для целей миграции в Git заключается не в том, пройдет ли набор правил или не пройдет (в этом случае достаточно «всегда разрешать»), а в том, оценивается ли набор правил вообще (требующее «освобождения» обходов).

Добавление объезда

Следующие шаги проходят через настройки обхода набора правил, необходимых для миграций. Для редактирования соответствующих правил вам понадобятся права администратора организации или корпоративного администратора.

  1. В настройках вашей организации разверните раздел Репозитория , затем перейдите в Правила Правил.

  2. Перейдите к нужному набору правил. В разделе списка обхода вы увидите либо пустой список, либо любые уже настроенные обходы.

  3. Если миграции репозитория отсутствуют в списке обхода, нажмите « Добавить обход». Появляется выпадающее меню с перечислением доступных актёров обхода; Поставьте галочку рядом с миграциями репозитория и обратите внимание, что запись появляется в вашем списке обхода с режимом по умолчанию — Always allow.

  4. Нажмите на меню ··· в разделе миграций репозитория. Вы увидите два режима и действие удаления. Выберите Исключить. Не оставляйте режим на «Всегда разрешать» — как уже отмечалось, «Всегда разрешай обходы» всё равно позволяет оценку, что и является тайм-аут. Список обхода теперь показывает миграции репозиторий с режимом Exempt.

  5. Прокрутите страницу набора правил вниз и нажмите «Сохранить изменения». Обход вступает в силу немедленно для последующих миграционных рейсов.

Безопасность и побочные эффекты

Как уже отмечалось, используется GitHub Enterprise Importer специфический путь для отправки данных Git, и обход миграций репозитория направлен только на этот путь — нет пути, по которому обычные пользователи или push Git в существующие репозитории могли бы обойти наборы правил с помощью обхода миграций репозитория .

Рекомендуется оставлять все обходы миграций репозиторий на время их запуска. После завершения миграции оставление обхода на месте не представляет угрозы безопасности.