Skip to main content

Определение политик для репозиториев на предприятии

Применяйте политики репозитория на предприятии с помощью настраиваемых свойств и правил таргетинга.

Примечание.

Политики репозитория в настоящее время находятся в public preview и подвергаются изменению. Вы можете иметь до 75 общих политик и наборов правил для каждой организации, а также до 75 общих политик и наборов правил для каждого предприятия.

Чтобы управлять ключевыми событиями в жизненном цикле репозиториев, например, которые могут создавать или удалять репозитории, можно создать политику репозитория. Политика репозитория — это коллекция ограничений, которая обеспечивает гибкий контроль над тем, какие пользователи затронуты и какие репозитории предназначены.

В политике репозитория можно ограничить:

  • Какие видимости разрешены для новых репозиториев и изменений видимости.
  • Кто может создавать репозитории.
  • Кто может удалить репозитории.
  • Кто может передавать репозитории из организации.
  • Как люди могут называть репозитории.

Примеры

Политику репозитория можно использовать для выполнения таких действий:

  • Убедитесь, что все новые репозитории используют определенное соглашение об именовании, например kebab-case.
  • Запретить удаление репозитория, за исключением администраторов организации.
  • Разрешить создавать общедоступные репозитории только в организации "открытый код" в вашей организации.
  • Запретить изменение общедоступных репозиториев на частный, чтобы избежать потенциальной потери метаданных.

Создание политики репозитория

  1. Перейдите к своему предприятию. Например, на странице Enterprises на GitHub.com.
  2. В левой части страницы на боковой панели учетной записи предприятия щелкните Policies.
  3. В разделе "Политики" щелкните "Репозиторий".
  4. Щелкните Создать политику.
  5. Настройте новую политику и нажмите кнопку "Создать". Дополнительные сведения см. в следующих подразделах.

Имя политики

Используйте что-то описательное для обмена данными о назначении политики. Владельцы организации могут просматривать политику, поэтому хорошие имена помогают добавить ясность. Например: Prevent public repos on production.

Состояние принудительного применения

Если вы не хотите, чтобы политика была применена при его создании, установите значение "Отключено". В противном случае задайте значение "Активный".

Список разрешений

Выберите, какие роли могут обойти ограничения в этой политике.

Targets

Выберите, к каким организациям и репозиториям применяется политика.

Целевые организации

Выберите все организации, выберите выбор существующих организаций или задайте динамический список по имени. Если вы используете Enterprise Managed Users, вы также можете выбрать целевой объект для всех репозиториев, принадлежащих пользователям в вашей организации.

Если задать динамический список, вы добавите один или несколько шаблонов именования с помощью fnmatch синтаксиса. Например, строка *open-source будет соответствовать любой организации с именем, который заканчивается open-source. Сведения о синтаксисе см. в разделе Создание наборов правил для репозитория.

Целевые репозитории

Выберите репозитории (текущие или будущие) для целевых объектов в выбранных организациях. Можно выбрать все репозитории или задать динамический список по пользовательскому свойству.

Policies

Выберите, какие ограничения включены. Если политика активна, ограничения применяются ко всем целевым репозиториям, но их можно обойти пользователями или командами в списке разрешений.

Если выбрана политика "Ограничить имена", необходимо использовать синтаксис регулярного выражения , чтобы задать шаблон, который имена репозитория должны совпадать или не должны совпадать. Например, шаблон для принудительного kebab-case именования будет выглядеть следующим ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$образом.

  • Шаблоны поддерживают синтаксис RE2. См. руководство по синтаксису Google.
  • Чтобы проверить выражения, щелкните "Тестовый шаблон", а затем введите шаблон и значение теста.

Делегирование обхода политик

Примечание.

Делегированный обход политики репозитория находится в public preview и подлежит изменению.

Делегированный обход для политик репозитория позволяет управлять тем, кто может обходить политики репозитория для удаления репозитория и изменения видимости.

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

Если запрос на обход политик репозитория утвержден, изменение запроса завершается немедленно. Если запрос отклонен, запрошенное изменение не будет сделано, но может быть запрошено повторно.

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

Дальнейшие шаги

Создавайте наборы правил для согласованного управления важными ветвями в репозиториях предприятия. См . раздел AUTOTITLE.