Skip to main content

Управление использованием репозиториев в организации

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

Кто может использовать эту функцию?

Organization owners

Note

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

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

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

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

Tip

Если вы являетесь владельцем предприятия, вы можете создать политику репозитория, которая применяется к нескольким организациям. См . раздел AUTOTITLE.

Примеры

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

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

Как использовать репозитории?

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

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

Сведения о создании и настройке настраиваемых свойств см. в разделе Управление настраиваемыми свойствами для репозиториев в организации.

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

Взаимодействие с другими политиками

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

Создание политики репозитория не переопределяет существующие политики прав участника. Вместо этого политики являются аддитивным, поэтому применяется самая ограничивающая версия политики. Это относится как к политикам привилегий участников, так и к другим политикам репозитория, которые люди создали на уровне предприятия или организации.

По сравнению с политиками привилегий участников политики репозитория имеют несколько преимуществ:

  • Они предлагают более гибкое назначение организаций и репозиториев.
  • Они позволяют предоставить определенным субъектам возможность обойти политики.

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

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

Имя политики

Используйте что-то описательное для обмена данными о назначении политики. Например: Prevent public repos on production.

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

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

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

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

Целевые объекты

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

Если задать динамический список по имени, вы добавите один или несколько шаблонов именования с помощью fnmatch синтаксиса.

  • Например, строка *open-source будет соответствовать любому репозиторию с именем, который заканчивается open-source. Сведения о синтаксисе см. в разделе Создание наборов правил для репозитория.
  • При необходимости вы можете запретить любому пользователю, находяющемуся за пределами списка разрешений, переименовать выбранные репозитории. Кроме того, можно управлять форматом имен в разделе "Политики".

Политики

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

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

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