Note
Политики репозитория в настоящее время находятся в public preview и подвергаются изменению.
Чтобы управлять ключевыми событиями в жизненном цикле репозиториев, например, которые могут создавать или удалять репозитории, можно создать политику репозитория. Политика репозитория — это коллекция ограничений, которая обеспечивает гибкий контроль над тем, какие пользователи затронуты и какие репозитории предназначены.
В политике репозитория можно ограничить:
- Какие видимости разрешены для новых репозиториев и изменений видимости.
- Кто может создавать репозитории.
- Кто может удалить репозитории.
- Кто может передавать репозитории из организации.
- Как люди могут называть репозитории.
Tip
Если вы являетесь владельцем предприятия, вы можете создать политику репозитория, которая применяется к нескольким организациям. См . раздел AUTOTITLE.
Примеры
Политику репозитория можно использовать для выполнения таких действий:
- Убедитесь, что все новые репозитории используют определенное соглашение об именовании, например
kebab-case
. - Запретить удаление репозитория, за исключением администраторов организации.
- Разрешить создавать общедоступные репозитории только в организации "открытый код" в вашей организации.
- Запретить изменение общедоступных репозиториев на частный, чтобы избежать потенциальной потери метаданных.
Как использовать репозитории?
Мы рекомендуем использовать политики репозитория вместе с настраиваемыми свойствами репозитория. Добавив настраиваемые свойства в репозитории, вы сможете гибко использовать эти репозитории в политике.
Например, можно добавить свойство для пометки репозиториев, содержащих рабочие данные или другие конфиденциальные сведения, а затем запретить любому пользователю делать эти репозитории общедоступными.
Сведения о создании и настройке настраиваемых свойств см. в разделе Управление настраиваемыми свойствами для репозиториев в организации.
В качестве альтернативы пользовательским свойствам можно выбрать из списка репозиториев или использовать fnmatch
синтаксис для целевых репозиториев с определенными шаблонами именования.
Взаимодействие с другими политиками
Некоторые из доступных ограничений являются повторяющимися политиками, которые вы могли задать на странице "Привилегии участников" в вашей организации или корпоративных параметрах.
Создание политики репозитория не переопределяет существующие политики прав участника. Вместо этого политики являются аддитивным, поэтому применяется самая ограничивающая версия политики. Это относится как к политикам привилегий участников, так и к другим политикам репозитория, которые люди создали на уровне предприятия или организации.
По сравнению с политиками привилегий участников политики репозитория имеют несколько преимуществ:
- Они предлагают более гибкое назначение организаций и репозиториев.
- Они позволяют предоставить определенным субъектам возможность обойти политики.
Создание политики репозитория
- В правом верхнем углу GitHubвыберите свой фото профиля, а затем выберите Ваши организации.
- Рядом с организацией щелкните Параметры.
- В левой части страницы на боковой панели щелкните Policies.
- В разделе "Политики" щелкните "Репозиторий".
- Щелкните Создать политику.
- Настройте новую политику и нажмите кнопку "Создать". Дополнительные сведения см. в следующих подразделах.
Имя политики
Используйте что-то описательное для обмена данными о назначении политики. Например: Prevent public repos on production
.
Состояние принудительного применения
Если вы не хотите, чтобы политика была применена при его создании, установите значение "Отключено". В противном случае задайте значение "Активный".
Список разрешений
Выберите, какие роли и команды могут обойти ограничения в этой политике.
Целевые объекты
Выберите репозитории в организации, к которой применяется политика. Вы можете выбрать все репозитории, выбрать выбор существующих репозиториев или создать динамическое правило по имени или пользовательскому свойству для текущих и будущих репозиториев.
Если задать динамический список по имени, вы добавите один или несколько шаблонов именования с помощью fnmatch
синтаксиса.
- Например, строка
*open-source
будет соответствовать любому репозиторию с именем, который заканчиваетсяopen-source
. Сведения о синтаксисе см. в разделе Создание наборов правил для репозитория. - При необходимости вы можете запретить любому пользователю, находяющемуся за пределами списка разрешений, переименовать выбранные репозитории. Кроме того, можно управлять форматом имен в разделе "Политики".
Политики
Выберите, какие ограничения включены. Если политика активна, ограничения применяются ко всем целевым репозиториям, но их можно обойти пользователями или командами в списке разрешений.
Если выбрана политика "Ограничить имена", необходимо использовать синтаксис регулярного выражения , чтобы задать шаблон, который имена репозитория должны совпадать или не должны совпадать. Например, шаблон для принудительного kebab-case
именования будет выглядеть следующим ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$
образом.
- Шаблоны поддерживают синтаксис RE2. См. руководство по синтаксису Google.
- Чтобы проверить выражения, щелкните "Тестовый шаблон", а затем введите шаблон и значение теста.