Skip to main content

Управление настройками GitHub Actions для репозитория

Вы можете отключить или настроить GitHub Actions для конкретного репозитория.

О GitHub Actions разрешениях для вашего репозитория

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

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

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

Управление GitHub Actions правами для вашего репозитория

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

Примечание.

Возможно, вы не сможете управлять этими параметрами, если у вашей организации есть переопределяющая политика или управляется предприятием, которое имеет переопределяющую политику. Дополнительные сведения см. в разделе [AUTOTITLE или Отключение или ограничение GitHub Actions для вашей организации](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise).

Примечание.

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

  1. На GitHubперейдите на главную страницу репозитория.

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

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

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. Выберите желаемый параметр в разделе "Разрешения действий".

    Если выбрать Разрешить владельцу, а также выбрать не-OWNER___, действия и повторно используемые рабочие процессы** , действия и повторно используемые рабочие процессы в пределах organization разрешены, и существуют дополнительные параметры для разрешения других конкретных действий и повторно используемых рабочих процессов. Дополнительные сведения см. в разделе "Разрешить выбор действий и повторно используемых рабочих процессов для выполнения.

    Если разрешить действия и повторно использовать рабочие процессы только в organization, политика блокирует доступ ко всем действиям, созданным GitHub. Например, действие actions/checkout будет недоступно.

    Если включить закрепление действий на полную длину фиксации SHA, все действия должны быть закреплены на полной длине фиксации SHA для использования. Это включает действия из organization и действия, созданные GitHub. Повторно используемые рабочие процессы по-прежнему можно ссылаться по тегу. Дополнительные сведения см. в разделе Справочник по безопасному использованию.

  5. Нажмите кнопку Сохранить.

Разрешение выполнения действий выбора и повторно используемых рабочих процессов

При выборе Разрешить владельцу, а также выбрать не-OWNER___, действия и повторно используемые рабочие процессы** разрешены локальные действия (./ и $/) и повторно используемые рабочие процессы , а также существуют дополнительные параметры для разрешения других конкретных действий и повторно используемых рабочих процессов:

Примечание.

Возможно, вы не сможете управлять этими параметрами, если у вашей организации есть переопределяющая политика или управляется предприятием, которое имеет переопределяющую политику. Дополнительные сведения см. в разделе [AUTOTITLE или Отключение или ограничение GitHub Actions для вашей организации](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise).

  • Разрешить действия, созданные GitHub: можно разрешить все действия, созданные GitHub рабочими процессами. Действия, созданные с помощью GitHub , находятся в организациях actions и github организациях. Дополнительные сведения см. в actions и организациях github.

  • Разрешить действия Marketplace проверенным создателям: Вы можете разрешить всем GitHub Marketplace действиям, созданным проверенными создателями, использоваться рабочими процессами. Когда GitHub проверил создателя действия в качестве партнерской организации, значок отображается рядом с действием.GitHub Marketplace

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

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

    Подстановочный знак * можно использовать для сопоставления шаблонов. Например, чтобы разрешить все действия и повторно используемые рабочие процессы в организациях , которые начинаются с space-org, можно указать space-org*/*. Чтобы разрешить все действия и повторно используемые рабочие процессы в репозиториях , начинающихся с октоката, можно использовать */octocat**@*. Дополнительные сведения об использовании подстановочного * знака см. в разделе Синтаксис рабочего процесса для GitHub Actions.

    Используется , для разделения шаблонов. Например, чтобы разрешить все действия и повторно используемые рабочие процессы из организаций octocat``octokit , можно указать octocat/*, octokit/*.

    Используйте ! префикс для блокировки шаблонов. Например, чтобы разрешить все действия и повторно используемые рабочие процессы из space-org организации, но заблокировать определенное действие, например space-org/action, можно указать space-org/*, !space-org/action@*. По умолчанию разрешены только действия и повторно используемые рабочие процессы, указанные в списке. Чтобы разрешить все действия и повторно используемые рабочие процессы , а также блокировать определенные действия, можно указать *, !space-org/action@*.

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

  1. На GitHubперейдите на главную страницу репозитория.

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

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

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. В разделе «Разрешения действий» выберите Разрешить владельцу, а также выбрать не-OWNER___, действия и повторно используемые рабочие процессы** и добавьте необходимые действия в список.

  5. Нажмите кнопку Сохранить.

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

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

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

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

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

Рабочие процессы, активированные событиямиpull_request_target, выполняются в контексте базовая ветвь. Так как базовая ветвь считается доверенной, рабочие процессы, активированные этими событиями, всегда будут выполняться независимо от параметров утверждения. Дополнительные сведения о событии pull_request_target см. в разделе События, инициирующие рабочие процессы.

Предупреждение

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

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

  1. На GitHubперейдите на главную страницу репозитория.

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

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

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. В разделе "Утверждение" для выполнения рабочих процессов запроса на вытягивание вилки от участников выберите, какой подмножество пользователей потребует утверждения перед выполнением рабочих процессов в запросах на вытягивание. Автор запроса на вытягивание и субъект события запроса на вытягивание, запускающие рабочий процесс, будут проверены, чтобы определить, требуется ли утверждение. Если требуется утверждение, пользователь с доступом на запись в репозиторий должен утвердить рабочий процесс запроса на вытягивание для запуска. См . раздел AUTOTITLE.

    Предупреждение

    Если требуется утверждение только для участников первого раза (первые два параметра), пользователь с любым запросом фиксации или извлечения, объединенным в репозиторий, не будет требовать утверждения. Злоумышленник может соответствовать этому требованию, получив простое опечатка или другое безобидное изменение, принятое обработчиком, либо в рамках запроса на вытягивание, созданного или в рамках запроса на вытягивание другого пользователя.

    • Требовать одобрения для новых участников, которые являются новичкими GitHub. Для запуска рабочих процессов потребуется только пользователи, которые являются новыми GitHub и не имели запроса на фиксацию или вытягивание.
    • Требовать утверждения для участников первого раза. Только пользователям, у которых никогда не было запроса фиксации или извлечения, объединенных в этот репозиторий, потребуется утверждение для выполнения рабочих процессов.
    • Требовать утверждения для всех внешних участников всех пользователей, которые не являются членом или владельцем этого репозитория, а не участником организации, потребуется утверждение для запуска рабочих процессов.
  5. Нажмите Сохранить, чтобы применить настроенные параметры.

Дополнительные сведения об утверждении рабочих процессов, к которым применяется эта политика, см. в разделе Утверждение рабочих процессов выполняется из вилок.

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

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

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

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

Настройка политики вилок для частного репозитория

  1. На GitHubперейдите на главную страницу репозитория.

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

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

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. В разделе Рабочие процессы запроса на вытягивание выберите нужные параметры.

  5. Нажмите Сохранить, чтобы применить настроенные параметры.

Настройка разрешений GITHUB_TOKEN для репозитория

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

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

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

Настройка разрешений GITHUB_TOKEN по умолчанию

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

  1. На GitHubперейдите на главную страницу репозитория.

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

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

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. В разделе "Разрешения рабочего процесса" выберите, требуется GITHUB_TOKEN ли иметь доступ на чтение и запись для всех разрешений (предупредный параметр) или просто доступ на чтение для contents и packages разрешений (ограниченный параметр).

  5. Нажмите Сохранить, чтобы применить настроенные параметры.

Предотвращение GitHub Actions создания или одобрения pull-запросов

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

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

  1. На GitHubперейдите на главную страницу репозитория.

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

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

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. В разделе «Разрешения рабочего процесса» используйте Allow GitHub Actions для создания и утверждения pull request чтобы настроить, может ли GITHUB_TOKEN создавать и одобрять pull request.

  5. Нажмите Сохранить, чтобы применить настроенные параметры.

Разрешение доступа к компонентам в частном репозитории

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

Приведенные ниже действия можно настроить, можно ли получить доступ к действиям и повторно используемым рабочим процессам в частном репозитории за пределами репозитория. Для получения дополнительной информации смотрите Совместное использование действий и рабочих процессов из частного репозитория и Совместное использование действий и рабочих процессов в организации. Кроме того, можно использовать REST API для задания или получения сведений о уровне доступа. Дополнительные сведения см. в разделе [AUTOTITLE и Конечные точки REST API для разрешений GitHub Actions](/rest/actions/permissions#set-the-level-of-access-for-workflows-outside-of-the-repository).

Управление доступом для частного репозитория

  1. На , перейдите GitHubна главную страницу приватного репозитория.

  2. Под именем вашего репозитория нажмите «Настройки».

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. В разделе Доступ выберите один из параметров доступа:

    • Недоступно — рабочие процессы в других репозиториях не могут получить доступ к этому репозиторию.
    • Доступ к репозиториям, принадлежащим пользователю USER NAME, — рабочие процессы в других репозиториях, принадлежащих тому же пользователю, могут получить доступ к действиям и повторно используемым рабочим процессам в этом репозитории. Доступ разрешен только из частных репозиториев.
  5. Нажмите Сохранить, чтобы применить настроенные параметры.

Управление доступом для частного репозитория в организации

  1. На , перейдите GitHubна главную страницу приватного репозитория.

  2. Под именем вашего репозитория нажмите «Настройки».

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. В разделе Доступ выберите один из параметров доступа:

    • Недоступно — рабочие процессы в других репозиториях не могут получить доступ к этому репозиторию.
    • Доступ к репозиториям в организации "НАЗВАНИЕ ОРГАНИЗАЦИИ " — рабочие процессы в других репозиториях, которые являются частью организации "ИМЯ ОРГАНИЗАЦИИ", могут получить доступ к действиям и повторно используемым рабочим процессам в этом репозитории. Доступ разрешен только из частных репозиториев.
  5. Нажмите Сохранить, чтобы применить настроенные параметры.

Настройка настроек кэша для вашего репозитория

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

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

  1. На GitHubперейдите на главную страницу репозитория.

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

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

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. В разделе «Настройки кэша» настройте следующие параметры:

    • Сохранение кэша: количество дней для хранения кэша до автоматического удаления. По умолчанию — 7 дней. Вы можете настроить до 90 дней для публичных репозиториев или до 365 дней для частных и внутренних репозиториев (или до лимита, установленного вашей организацией).
    • Лимит выселения размера кэша: максимальный общий размер всех кэшей в вашем репозитории. По умолчанию — 10 ГБ. Вы можете настроить до 10 000 ГБ на репозиторий (или до лимита, установленного вашей организацией). При превышении этого лимита старые кэши будут выселены, чтобы освободить место для новых.
  5. Нажмите Сохранить, чтобы применить настроенные параметры.

Для получения дополнительной информации о выселении кэша см. Справочник по кэшированию зависимостей.

Настройка периода GitHub Actions хранения артефактов и логов в вашем репозитории

Вы можете настроить период GitHub Actions хранения артефактов и логов в своём репозитории.

По умолчанию артефакты и файлы журналов, созданные рабочими процессами, сохраняются в течение 90 дней перед автоматическим удалением. Срок хранения можно настроить в зависимости от типа репозитория:

  • Для общедоступных репозиториев: можно изменить этот период хранения на любой срок в диапазоне от 1 дня до 90 дней.
  • Для частных репозиториев : можно изменить этот период хранения на любой срок в диапазоне от 1 дня до 400 дней.

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

Кроме того, можно настраивать желаемый период хранения для конкретного артефакта, созданного рабочим процессом. Дополнительные сведения см. в разделе Удаление артефактов рабочего процесса.

Установка периода хранения артефактов и логов для репозитория

  1. На GitHubперейдите на главную страницу репозитория.

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

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

  3. На левой боковой панели щелкните Actions, а затем нажмите кнопку "Общие".

  4. Under Artifact и хранения журналов введите новое значение.

  5. Нажмите Сохранить, чтобы применить изменения.