Skip to main content

Включение качества кода в организациях и организациях

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

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

GitHub Team или GitHub Enterprise Cloud

Как работает включение в вашей организации

Code Quality управляется на трех уровнях, поэтому вы можете решить, сколько автономии предоставить организациям и репозиториям:

  • Предприятия: Владелец предприятия должен сначала разрешить Code Quality для предприятия. Пока они не будут делать, владельцы организации не могут включить его.
  • Организация: Владельцы организации контролируют, какие репозитории включили Code Quality или отключили, предоставив доступ ко всем репозиториям, выбранному списку или репозиториям, соответствующим фильтру. Они также могут применять эти параметры, чтобы администраторы репозитория не могли их изменить.
  • Репозиторий: Администраторы репозитория могут включать или отключать Code Quality для отдельных репозиториев, если не применяется принудительное применение на уровне организации.

Если Code Quality этот параметр включен в репозитории, CodeQL анализ выполняется через GitHub Actions и отображает результаты в запросах на вытягивание и в ветви по умолчанию. Разработчики видят проверки качества и заметки по запросам на вытягивание.

Доступ к репозиторию на уровне организации

На уровне организации вы управляете Code Quality одним параметром доступа к репозиторию . Этот параметр определяет, какие репозитории включены и какие из них отключены Code Quality : репозитории в выбранном выборе включены, а репозитории за пределами выбранного варианта отключены.

Внимание

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

Параметры доступа к репозиторию

Вы можете применить один из следующих вариантов одновременно.

ОпцияBehavior
Нет репозиториевОтключает все текущие и будущие репозитории Code Quality в организации.
Разрешить репозиториям решатьОрганизация не включает и не отключает Code Quality. Администраторы репозитория выбирают, следует ли включить его для собственных репозиториев. Этот параметр нельзя применить.
Все репозитории
Code Quality Включает для всех текущих и будущих репозиториев.
Выбранные репозитории
Code Quality Включает определенный список репозиториев, которые вы выбрали. Репозитории, которые не выбираются, отключены, а новые репозитории не включены автоматически. Лучше всего подходит для пилотов или исключений.
Сопоставление фильтра
Code Quality Включает для репозиториев, которые соответствуют определенному фильтру, теперь и в будущем. Репозитории, которые не соответствуют, отключены. См. статью "Фильтрация репозиториев".

Фильтрация репозиториев

При выборе сопоставления фильтра создается динамический фильтр, который автоматически включает Code Quality существующие и будущие репозитории, соответствующие вашим критериям. Это полезно для постоянного управления в масштабе.

Вы можете отфильтровать любое сочетание следующих критериев:

  • Видимость: Являются ли репозитории общедоступными, частными или внутренними. Полезно для широких политик, таких как включение Code Quality для всех частных репозиториев.
  • Состояние вилки: Являются ли репозитории вилками. Полезно, если вилки не должны использовать ресурсы анализа.
  • Пользовательское свойство: Имеет ли репозитории определенное значение пользовательского свойства. Например, можно использовать репозитории с team:platform помощью свойства.

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

Принудительное применение доступа

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

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

  • Принудительное применение применяется к большинству параметров доступа к репозиторию , которые вы выбираете, включая репозитории No, которые применяются Code Quality как отключенные.
  • Принудительное применение недоступно при принятии решения о том, что репозитории позволяют решить, что намеренно оставляет выбор администраторам репозитория.

Планирование развертывания

Так как одно изменение параметра доступа к репозиторию может включаться Code Quality одновременно во многих репозиториях, и каждый анализ потребляет GitHub Actions минуты, стоит развертываться на этапах, а не одновременно. Как вы планируете, взвесите несколько вещей:

  • Затраты и емкость. Убедитесь, что бегуники могут поглощать дополнительную GitHub Actions нагрузку, прежде чем включить Code Quality широко.
  • Сколько необходимо применить. Принудительное применение обеспечивает согласованное покрытие и останавливает администраторов репозитория, но устраняет их гибкость. Выход из нее позволяет командам принять участие на собственной временной шкале.
  • Когда нужно развернуть. Начните с небольшой репрезентативной пилотной группы, убедитесь, что анализ работает гладко, и разработчики доверяют результатам, а затем расширьте выбор или фильтр, чтобы покрыть больше репозиториев.

Пошаговые процедуры развертывания, включая пилотирование пороговых значений качества в режиме оценки перед их применением, см. в разделе GitHub Code Quality Развертывание в масштабе.