Skip to main content

Управление зависимостями на локальных запусках

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

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

Organization owners and repository administrators can configure Dependabot to run on self-hosted runners.

Note

Необходимо выполнить Dependabot на GitHub Actions. Будущие выпуски GitHub Enterprise Cloud удалят возможность принять участие и всегда запускать Dependabot на GitHub Actions. Дополнительные сведения см. в разделе Сведения о зависимостях на GitHub Actions runners.

Сведения о Dependabot для GitHub Actions для локального запуска

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

Чтобы обеспечить более широкий контроль над доступом Dependabot к частным реестрам и внутренним сетевым ресурсам, можно настроить Dependabot для запуска в GitHub Actions для локального выполнения.

По соображениям безопасности при выполнении Dependabot в GitHub Actions локальных модулей выполнения Dependabot updates не будет выполняться в общедоступных репозиториях.

Дополнительные сведения о настройке доступа Dependabot к частным реестрам при использовании GitHubразмещенных в ней средств выполнения см. в разделе "Руководство по настройке частных реестров для Dependabot". Сведения о том, какие экосистемы поддерживаются в качестве частных реестров, см. в разделе "Удаление доступа Dependabot к общедоступным реестрам".

Необходимые компоненты

Необходимо установить и включить Dependabot и GitHub Actions и использовать их. Также следует включить параметр Dependabot для GitHub Actions Runners для вашей организации. Дополнительные сведения см. в разделе Сведения о зависимостях на GitHub Actions runners.

Если GitHub Actions не включен для вашей организации или репозитория, параметр уровня организации или репозитория, чтобы включить параметр "Dependabot на GitHub Actions в пользовательском веб-интерфейсе не будет отображаться.

Возможно, ваша организация настроила политику, чтобы ограничить действия и локальные запуски запуска от выполнения в определенных репозиториях, что, в свою очередь, не позволит Dependabot запускаться на GitHub Actions локальных runners. В этом случае параметр уровня организации или репозитория, позволяющий включить "Dependabot на локальных запусках" не будет отображаться в веб-пользовательском интерфейсе. Дополнительные сведения см. в разделе Отключение или ограничение GitHub Actions для вашей организации.

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

Настройка локальных средств выполнения для Dependabot updates

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

Требования к системе для средств выполнения Dependabot

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

  • Операционная система Linux

  • Архитектура x64

  • Docker, установленный с доступом для пользователей средства выполнения:

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

Требования к ЦП и памяти зависят от количества параллельных средств выполнения, развернутых на конкретной виртуальной машине. Для справки — нам удалось успешно настроить 20 средств выполнения на одной виртуальной машине с двумя ЦП и 8 ГБ, но в конечном счете требования к ЦП и памяти будут сильно зависеть от обновляемых репозиториев. Для одних экосистем потребуется больше ресурсов, чем для других.

Если вы указываете более 14 параллельных средств выполнения на виртуальной машине, необходимо также обновить конфигурацию Docker /etc/docker/daemon.json, чтобы увеличить число сетей по умолчанию, которое может создавать Docker.

{
  "default-address-pools": [
    {"base":"10.10.0.0/16","size":24}
  ]
}

Требования к сети для средств выполнения Dependabot

Для запуска Dependabot требуется доступ к общедоступному Интернету, GitHub.com, а также все внутренние реестры, которые будут использоваться в Dependabot updates. Чтобы свести к минимуму риск для внутренней сети, следует ограничить доступ с виртуальной машины во внутреннюю сеть. Это снижает вероятность повреждения внутренних систем, если средство выполнения загрузит взломанную зависимость.

Конфигурация сертификата для запуска Dependabot

Если Dependabot необходимо взаимодействовать с реестрами, использующими самозаверяющие сертификаты, эти сертификаты также должны быть установлены на локальных запусках, выполняющих задания Dependabot. Эта безопасность затвердевает подключение. Кроме того, необходимо настроить Node.js для использования сертификата, так как большинство действий записываются в JavaScript и выполняются с помощью Node.js, которая не использует хранилище сертификатов операционной системы.

Добавление локальных средств выполнения для обновлений Dependabot

  1. Подготовьте локальные средства выполнения на уровне репозитория или организации. Дополнительные сведения см. в разделе "[AUTOTITLE" и "О самостоятельно размещенных средствах выполнения](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners)".

  2. Настройте локальные средства выполнения в соответствии с указанными выше требованиями. Например, на виртуальной машине под управлением Ubuntu 20.04 вам нужно выполнить следующее.

  3. Назначьте метку dependabot каждому средству выполнения, которое должен использовать Dependabot. Дополнительные сведения см. в разделе Использование меток с самостоятельно размещенными средствами выполнения.

  4. При необходимости включите рабочие процессы, активируемые Dependabot, чтобы использовать не только разрешения для чтения и иметь доступ к любым секретам, которые обычно доступны. Дополнительные сведения см. в разделе Автоматизация Dependabot с помощью GitHub Actions.

Включение локальных модулей выполнения для Dependabot updates

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

Обратите внимание, что отключение и повторное включение параметров "Dependabot для параметров локального выполнения не активирует новый запуск Dependabot.

Включение или отключение репозитория

Вы можете управлять Dependabot в локальном репозитории runners для репозитория private или internal репозитория.

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

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

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

  3. В разделе "Безопасность" боковой панели щелкните Безопасность и анализ кода.

  4. В разделе "Dependabot" справа от "Dependabot на локальных запусках нажмите кнопку "Включить ", чтобы включить функцию или отключить ее.

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

Вы можете включить Dependabot на локальных запусках для всех существующих репозиториев private или internal в организации. При следующем запуске задания Dependabot будут обновлены только репозитории, variables.product.prodname_dependabot настроенные для запуска Dependabot при следующем запуске задания Dependabot при следующем запуске {variables.product.prodname_actions% данных variables.product.prodname_dependabot %}.

Note

Если вы используете более крупные бегуны, необходимо включить локальные модули выполнения для организации. Дополнительные сведения см. в разделе Сведения о зависимостях на GitHub Actions runners.

  1. В правом верхнем углу GitHubвыберите фото профиля, а затем выберите Ваши организации.
  2. Рядом с организацией щелкните Параметры.
  3. В разделе "Безопасность" боковой панели щелкните Безопасность кода, а затем глобальные параметры.
  4. В разделе "Dependabot" выберите "Dependabot для локальных средств выполнения, чтобы включить функцию или отключить ее. Это действие включает или отключает функцию для всех новых репозиториев в организации.

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