Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Требуемые рабочие процессы

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

Примечание: Требуемые рабочие процессы в настоящее время находятся в бета-версии и могут быть изменены.

Общие сведения

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

Снимок экрана: элементы управления для поиска требуемого рабочего процесса

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

Предварительные требования

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

  • GitHub Actions должен быть включен для репозитория в параметрах организации, чтобы выполнять необходимые рабочие процессы. После включения на уровне организации необходимые рабочие процессы будут выполняться, даже если GitHub Actions отключен в параметрах репозитория. Дополнительные сведения об управлении GitHub Actions в репозиториях организации см. в разделе Отключение или ограничение GitHub Actions для вашей организации.
  • Необходимые рабочие процессы доступны для организаций и только в репозиториях, где план организации поддерживает обязательные проверки состояния. Если обязательные проверки состояния не поддерживаются, рабочий процесс будет по-прежнему выполняться, но он не будет обязательной проверкой и не будет блокировать слияние. Дополнительные сведения о поддержке обязательных проверок состояния см. в разделе Сведения о защищенных ветвях.
  • Ветвь репозитория по умолчанию должна соответствовать параметру ветви по умолчанию организации, чтобы требуемые рабочие процессы запускались в качестве обязательных проверок состояния. Если имена ветвей по умолчанию не совпадают, рабочий процесс по-прежнему будет выполняться, но это не будет обязательной проверкой. Дополнительные сведения об управлении именами ветвей по умолчанию см. в разделах Управление именем ветви по умолчанию для репозиториев в организации и Изменение ветви по умолчанию.
  • Для выполнения необходимых рабочих процессов исходный репозиторий запроса на вытягивание должен находиться в той же организации, что и целевой репозиторий. GitHub Enterprise Cloud будет источником требуемого рабочего процесса из фиксации HEAD ветви по умолчанию из репозитория, содержащего рабочий процесс.
  • Секреты, используемые в требуемом рабочем процессе, должны создаваться на уровне организации или в целевых репозиториях.
  • Секреты в исходном репозитории не будут извлекаться при выполнении рабочего процесса в целевом репозитории.

Ограничения и поведение исходного репозитория

Обратите внимание на следующие ограничения и поведение исходного репозитория и рабочего процесса:

  • Требуемые рабочие процессы могут храниться в любой папке репозитория и не ограничены папкой .github/workflows , как обычные рабочие процессы. Если требуемый рабочий процесс вызывает повторно используемый рабочий процесс, повторно используемый рабочий процесс должен храниться в папке .github/workflows . При вызове повторно используемого рабочего процесса требуемый рабочий процесс должен использовать полный путь и ссылку на повторно используемый рабочий процесс. Например, {owner}/{repo}/.github/workflows/{filename}@{ref}.

  • Если требуемый рабочий процесс содержится в частном или внутреннем репозитории , необходимо убедиться, что рабочие процессы в репозитории доступны другим репозиториям в вашей организации. Дополнительные сведения см. в разделах Управление параметрами GitHub Actions для репозиторияи Управление параметрами GitHub Actions для репозитория.

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

  • CodeQL не поддерживается в требуемых рабочих процессах, так как CodeQL требует настройки на уровне репозитория. Сведения о настройке сканирования кода см. в разделе Настройка проверки кода для репозитория.

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

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

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

Ограничения и поведение целевого репозитория

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

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

Просмотр запусков рабочих процессов для необходимых рабочих процессов

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

  1. На GitHub.com перейдите на главную страницу репозитория. 1. Щелкните Действия под именем репозитория. Вкладка "Действия" на главной панели навигации по репозиторию

  2. На левой боковой панели можно просмотреть запуски рабочих процессов для обязательных рабочих процессов в разделе "Обязательные рабочие процессы".

    Снимок экрана: необходимые рабочие процессы

Добавление требуемого рабочего процесса в организацию

Владельцы организации могут настраивать необходимые рабочие процессы в своей организации. Дополнительные сведения см. в разделе Отключение или ограничение GitHub Actions для вашей организации.