Сведения о локальных средствах выполнения для Dependabot updates
Вы можете помочь пользователям ваш экземпляр GitHub Enterprise Server создавать и поддерживать безопасный код, настроив Dependabot обновления безопасности и версий. С помощью Dependabot updatesразработчики могут настроить репозитории таким образом, чтобы обновление и поддержание безопасности их зависимостей выполнялось автоматически. Дополнительные сведения см. в разделе Включение Dependabot для предприятия.
Чтобы использовать Dependabot updates для ваш экземпляр GitHub Enterprise Server, необходимо настроить локальные средства выполнения для создания запросов на вытягивание, которые будут обновлять зависимости.
Необходимые компоненты
Настройка локальных средств выполнения тестов — это лишь один шаг в середине процесса включения Dependabot updates. Перед выполнением этих действий необходимо выполнить несколько шагов, включая настройку ваш экземпляр GitHub Enterprise Server для использования GitHub Actions с локальными средствами выполнения. Дополнительные сведения см. в разделе Включение Dependabot для предприятия.
Настройка локальных средств выполнения для Dependabot updates
После настройки ваш экземпляр GitHub Enterprise Server для использования GitHub Actionsнеобходимо добавить локальные средства выполнения для Dependabot updates.
Требования к системе для средств выполнения Dependabot
Все виртуальные машины, используемые для средств выполнения Dependabot, должны соответствовать требованиям для локальных средств выполнения. Кроме того, они должны соответствовать следующим требованиям.
-
Операционная система 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. Чтобы свести к минимуму риск для внутренней сети, следует ограничить доступ с виртуальной машины во внутреннюю сеть. Это снижает вероятность повреждения внутренних систем, если средство выполнения загрузит взломанную зависимость.
Конфигурация сертификата для запуска Dependabot
Если в экземпляре GitHub Enterprise Server используется самозаверяющий сертификат или если 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.
- Установите все самозаверяющие сертификаты для экземпляра GitHub Enterprise Server или реестров, с которыми потребуется взаимодействовать Dependabot .
- Настройте Node.js для использования того же сертификата. Дополнительные сведения см. в разделе Устранение неполадок GitHub Actions для предприятия.
- Установить Docker и убедиться, что пользователи средства выполнения имеют доступ к Docker. Дополнительные сведения см. в документации Docker.
-
Назначьте метку
dependabot
каждому средству выполнения, которое должен использовать Dependabot. Дополнительные сведения см. в разделе Использование меток с самостоятельно размещенными средствами выполнения. -
При необходимости включите рабочие процессы, активируемые Dependabot, чтобы использовать не только разрешения для чтения и иметь доступ к любым секретам, которые обычно доступны. Дополнительные сведения см. в разделе Устранение неполадок GitHub Actions для предприятия.