Skip to main content

Создание наборов правил для репозиториев в организации

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

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

Organization owners can create rulesets at the organization level.

Введение

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

Вы также можете создать наборы правил push-уведомлений для блокировки отправки в частный или внутренний репозиторий и всю сеть вилки репозитория. Наборы правил push-уведомлений позволяют блокировать отправки на основе расширений файлов, длины пути к файлам, пути к файлам и папкам и размерам файлов.

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

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

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

Импорт предварительно созданных наборов правил

Чтобы импортировать один из предварительно созданных наборов правил на GitHub, см. раздел github/ruleset-recipes.

Существующий набор правил можно импортировать с помощью JSON-файла. Это может быть полезно, если вы хотите применить один и тот же набор правил к нескольким репозиториям или организациям. Дополнительные сведения см. в разделе Управление наборами правил для репозиториев в организации.

Использование fnmatch синтаксиса

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

Подстановочный знак можно использовать * для сопоставления любой строки символов. Так как GitHub использует File::FNM_PATHNAME флаг для синтаксиса File.fnmatch , * подстановочный знак не соответствует разделителям каталогов (/). Например, будет соответствовать всем ветвям, qa/* начинающимся с qa/ и содержащим одну косую черту, но не совпадать qa/foo/bar. Вы можете включить любое количество косых черт после qa qa/**/*, которое будет соответствовать, например qa/foo/bar/foobar/hello-world. Можно также расширить qa строку, qa**/**/* чтобы сделать правило более инклюзивным.

Дополнительные сведения о параметрах синтаксиса см. в документации по fnmatch.

Использование состояний применения набора правил

При создании или изменении набора правил можно использовать состояния принудительного применения, чтобы настроить применение набора правил.

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

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

Создание набора правил ветви или тега

  1. В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.

  2. Выберите организацию, кликнув по ней.

  3. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  4. В левой боковой панели в разделе "Код, планирование и автоматизация" щелкните Репозиторий, а затем щелкните "Правила".

    Снимок экрана: страница параметров организации. На боковой панели ссылка с меткой "Наборы правил" описывается оранжевым цветом.

  5. Нажмите кнопку "Создать набор правил".

  6. Чтобы создать набор правил, предназначенный для ветвей, щелкните новый набор правил ветви. Кроме того, чтобы создать набор правил, предназначенный для тегов, щелкните "Создать набор правил тегов".

  7. В поле "Имя набора правил" введите имя набора правил.

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

Выбор репозиториев для целевого объекта в организации

Выбор ветвей или тегов для целевого объекта

Чтобы выбрать целевые ветви или теги, в разделе "Целевые ветви" или "Целевые теги" выберите "Добавить целевой объект", а затем выберите способ включения или исключения ветвей или тегов. Синтаксис можно использовать fnmatch для включения или исключения ветвей или тегов на основе шаблона. Дополнительные сведения см. в разделе "Использование fnmatch синтаксиса".

В один набор правил можно добавить несколько критериев целевого назначения. Например, можно включить ветвь по умолчанию, включить любые ветви, соответствующие шаблону*feature*, а затем исключить ветвь, соответствующую шаблонуnot-a-feature.

Выбор ветвей или защиты тегов

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

Примечание.

Если вы выберете "Требовать проверки состояния перед слиянием", в разделе "Дополнительные параметры":

  • Вы можете ввести имя каждой проверки состояния, для которых требуется. Чтобы завершить добавление проверки состояния в качестве требования, необходимо щелкнуть .
  • Если вы выберете "Требовать, чтобы ветви были актуальными перед слиянием", необходимо определить проверку, чтобы защита вступить в силу.

Завершение набора правил ветви или тега и дальнейшие действия

Чтобы завершить создание набора правил, нажмите кнопку "Создать". Если для набора правил задано значение "Активный", набор правил немедленно вступает в силу.

Создание набора правил push-уведомлений

Примечание.

Этот набор правил будет en принудительная отправка ограничения для всей сети вилки репозитория.

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

  1. В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.

  2. Выберите организацию, кликнув по ней.

  3. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  4. В левой боковой панели в разделе "Код, планирование и автоматизация" щелкните Репозиторий, а затем щелкните "Правила".

    Снимок экрана: страница параметров организации. На боковой панели ссылка с меткой "Наборы правил" описывается оранжевым цветом.

  5. Нажмите кнопку "Создать набор правил".

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

  7. В поле "Имя набора правил" введите имя набора правил.

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

Предоставление разрешений обхода для набора правил push-уведомлений

Примечание.

Обход разрешений для наборов правил push-уведомлений, предназначенных для репозитория, наследуется всей сетью вилки для этого репозитория. Это означает, что единственными пользователями, которые могут обойти этот набор правил для любого репозитория в всей сети вилки этого репозитория, являются пользователи, которые могут обойти этот набор правил в корневом репозитории.

данных repositories.repositories.rulesets-bypass-step %}

Выбор репозиториев для целевого объекта в организации

Выбор защиты push-уведомлений

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

Все настроенные push-защиты блокируют отправки в этом репозитории и вся сеть вилки этого репозитория.

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

    Для ограничений пути к файлу можно использовать частичные или полные пути. Для этого можно использовать fnmatch синтаксис. Например, ограничение, предназначенное для test/demo/**/* предотвращения отправки в файлы или папки в test/demo/ каталоге. Ограничение, предназначенное для test/docs/pushrules.md предотвращения отправки pushrules.md в файл в каталоге test/docs/ . Дополнительные сведения см. в разделе Создание наборов правил для репозитория.

Завершение набора правил push-уведомлений и дальнейшие действия

Чтобы завершить создание набора правил, нажмите кнопку "Создать". Если для набора правил задано значение "Активный", набор правил немедленно вступает в силу.