Сведения о Dependabot для GitHub Actions для локального запуска
Если включить Dependabot в новом репозитории и включить GitHub Actions Dependabot по умолчанию будет выполняться на GitHub Actions.
Если вы включите Dependabot в новом репозитории и отключено GitHub Actions, Dependabot будет выполняться в устаревшем приложении в GitHub Enterprise Cloud для выполнения Dependabot updates. Это не обеспечивает хорошую производительность, видимость или управление заданиями Dependabot updates как GitHub Actions. Если вы хотите использовать Dependabot с GitHub Actions, необходимо убедиться, что репозиторий включает GitHub Actions, а затем включите "Dependabot" на странице параметров "Безопасность кода и анализ" репозитория. Дополнительные сведения см. в разделе "Сведения о зависимостях на GitHub Actions runners".
Note
Будущие выпуски GitHub всегда будут запускать Dependabot с помощью GitHub Actions, и вы больше не сможете включить или отключить этот параметр.
Вы можете помочь пользователям организации и репозиториям создавать и поддерживать безопасный код, настроив Dependabot обновления безопасности и версий. С помощью Dependabot updatesразработчики могут настроить репозитории таким образом, чтобы обновление и поддержание безопасности их зависимостей выполнялось автоматически. Выполнение Dependabot на GitHub Actions позволяет повысить производительность и повысить видимость и управление заданиями Dependabot.
Note
Dependabot не поддерживает использование частной сети с azure виртуальная сеть (виртуальной сетью) или контроллером запуска действий (ARC).
Чтобы обеспечить более широкий контроль над доступом Dependabot к частным реестрам и внутренним сетевым ресурсам, можно настроить Dependabot для запуска в GitHub Actions для локального выполнения.
По соображениям безопасности при выполнении Dependabot в GitHub Actions локальных модулей выполнения Dependabot updates не будет выполняться в общедоступных репозиториях.
Дополнительные сведения о настройке доступа Dependabot к частным реестрам при использовании GitHubразмещенных в ней средств выполнения см. в разделе "Руководство по настройке частных реестров для Dependabot". Сведения о том, какие экосистемы поддерживаются в качестве частных реестров, см. в разделе "Удаление доступа Dependabot к общедоступным реестрам".
Необходимые компоненты
Необходимо установить и включить Dependabot и GitHub Actions и использовать их. Также следует включить параметр Dependabot для GitHub Actions Runners для вашей организации. Дополнительные сведения см. в разделе Сведения о зависимостях на GitHub Actions runners.
Возможно, ваша организация настроила политику, чтобы ограничить действия и локальные запуски запуска от выполнения в определенных репозиториях, что, в свою очередь, не позволит 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.
- Рекомендуется установить 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-actions.githubapp.com
предотвратить сбой заданий для Dependabot security updates . Дополнительные сведения см. в разделе О самостоятельно размещенных средствах выполнения.
Конфигурация сертификата для запуска Dependabot
Если Dependabot необходимо взаимодействовать с реестрами, использующими самозаверяющие сертификаты, эти сертификаты также должны быть установлены на локальных запусках, выполняющих задания Dependabot. Эта безопасность затвердевает подключение. Кроме того, необходимо настроить Node.js для использования сертификата, так как большинство действий записываются в JavaScript и выполняются с помощью Node.js, которая не использует хранилище сертификатов операционной системы.
Добавление локальных средств выполнения для обновлений Dependabot
-
Подготовьте локальные средства выполнения на уровне репозитория или организации. Дополнительные сведения см. в разделе "[AUTOTITLE" и "О самостоятельно размещенных средствах выполнения](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners)".
-
Настройте локальные средства выполнения в соответствии с указанными выше требованиями. Например, на виртуальной машине под управлением Ubuntu 20.04 вам нужно выполнить следующее.
- Установить Docker и убедиться, что пользователи средства выполнения имеют доступ к Docker. Дополнительные сведения см. в документации Docker.
- Установка подсистемы Docker в Ubuntu
- Рекомендуемый подход. Запуск управляющей программы Docker в качестве некорневого пользователя (режим без корня)
- Альтернативный подход. Управление Docker в качестве некорневого пользователя
- Убедитесь, что средства выполнения имеют доступ к общедоступному Интернету и могут получить доступ только к внутренним сетям, которые требуются Dependabot.
- Установите все самозаверяющие сертификаты для реестров, с которыми необходимо взаимодействовать Dependabot .
- Установить Docker и убедиться, что пользователи средства выполнения имеют доступ к Docker. Дополнительные сведения см. в документации Docker.
-
Назначьте метку
dependabot
каждому средству выполнения, которое должен использовать Dependabot. Дополнительные сведения см. в разделе Использование меток с самостоятельно размещенными средствами выполнения. -
При необходимости включите рабочие процессы, активируемые Dependabot, чтобы использовать не только разрешения для чтения и иметь доступ к любым секретам, которые обычно доступны. Дополнительные сведения см. в разделе Автоматизация Dependabot с помощью GitHub Actions.
Включение локальных модулей выполнения для Dependabot updates
После настройки локальных модулей выполнения для Dependabot updatesможно включить или отключить Dependabot updates на локальном уровне выполнения на уровне организации или репозитория.
Обратите внимание, что отключение и повторное включение параметров "Dependabot для параметров локального выполнения не активирует новый запуск Dependabot.
Включение или отключение репозитория
Вы можете управлять Dependabot в локальном репозитории runners для репозитория private или internal репозитория.
-
На GitHubперейдите на главную страницу репозитория.
-
Под именем репозитория щелкните Параметры. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и щелкните Параметры.
-
В разделе "Безопасность" боковой панели щелкните Безопасность и анализ кода.
-
В разделе "Dependabot" справа от "Dependabot на локальных запусках нажмите кнопку "Включить ", чтобы включить функцию или отключить ее.
Включение или отключение для вашей организации
Вы можете включить Dependabot на локальных запусках для всех существующих репозиториев private или internal в организации. При следующем запуске задания Dependabot будут обновлены только репозитории, variables.product.prodname_dependabot настроенные для запуска Dependabot при следующем запуске задания Dependabot при следующем запуске {variables.product.prodname_actions% данных variables.product.prodname_dependabot %}.
Note
Если вы используете более крупные бегуны, необходимо включить локальные модули выполнения для организации. Дополнительные сведения см. в разделе Сведения о зависимостях на GitHub Actions runners.
- В правом верхнем углу GitHubвыберите фото профиля, а затем выберите Ваши организации.
- Рядом с организацией щелкните Параметры.
- В разделе "Безопасность" боковой панели щелкните Безопасность кода, а затем глобальные параметры.
- В разделе "Dependabot" выберите "Dependabot для локальных средств выполнения, чтобы включить функцию или отключить ее. Это действие включает или отключает функцию для всех новых репозиториев в организации.
Дополнительные сведения см. в разделе Настройка глобальных параметров безопасности для организации.