Skip to main content

Настройка доступа к частным реестрам для Dependabot

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

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

Пользователи с доступом на запись

Сведения о частных реестрах

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

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

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

Настройка частных реестров

Вы настраиваете к частным реестрам в dependabot.yml файле. Ключ верхнего уровня registries является необязательным и указывает сведения о проверке подлинности.

В файле есть 2 расположения dependabot.yml , в которых можно использовать registries ключ:

  • На верхнем уровне, где вы определяете реестры и сведения о доступе при необходимости.
  • updates В блоках, где можно указать Dependabot использовать registries: "*" любой или все реестры, определенные на верхнем уровне.
# registries: gradle-artifactory - provides access details for the gradle-artifactory registry
# registries: "*" - allows Dependabot to use all the defined registries specified at the top level

version: 2
registries:
  gradle-artifactory:
    type: maven-repository
    url: https://acme.jfrog.io/artifactory/my-gradle-registry
    username: octocat
    password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
updates:
  - package-ecosystem: "gradle"
    directory: "/"
    registries: "*"
    schedule:
      interval: "monthly"

Для указания параметров доступа используются следующие параметры. Параметры реестра должны содержать type и url, а также, как правило, либо сочетание username и password, либо token.

Параметр                Описание
typeОпределяет тип реестра. Дополнительные сведения о доступных типах реестра см. в разделе "registries". Дополнительные сведения о конфигурации частных реестров см. в разделе "Параметры конфигурации для частных реестров".
urlURL-адрес, используемый для доступа к зависимостям в этом реестре. Протокол указывать необязательно. Если этот параметр не задан, для него предполагается значение https://. Dependabot добавляет или пропускает конечные косые черты по мере необходимости.
usernameИмя пользователя, которое Dependabot использует для доступа к реестру.
username — это имя пользователя или адрес электронной почты для учетной записи.
passwordСсылка на секрет Dependabot, содержащий пароль для указанного пользователя. Дополнительные сведения см. в разделе Настройка доступа к частным реестрам для Dependabot.
password — это пароль для учетной записи, указанной именем пользователя. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
keyСсылка на секрет Dependabot, содержащий ключ доступа для этого реестра. Дополнительные сведения см. в разделе Настройка доступа к частным реестрам для Dependabot.
tokenСсылка на секрет Dependabot, содержащий маркер доступа для этого реестра. Дополнительные сведения см. в разделе Настройка доступа к частным реестрам для Dependabot.
token используется для предоставления маркера доступа для внешней системы и не следует использовать для предоставления GitHub personal access token. Если вы хотите использовать GitHub personal access token, необходимо указать его в качестве пароля.
replaces-baseЕсли логическое значение имеет значение trueреестра, Dependabot разрешает зависимости с помощью указанного URL-адреса, а не базового URL-адреса конкретной экосистемы. Например, для реестров с type: python-indexлогическим значением true, pip разрешает зависимости с помощью указанного URL-адреса, а не базового URL-адреса индекса пакета Python (по умолчанию https://pypi.org/simple).

Дополнительные сведения о доступных параметрах конфигурации, их использовании и поддерживаемых типах см. в разделе "Параметры конфигурации для файла dependabot.yml".

Хранение учетных данных для Dependabot для использования

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

Сведения о зашифрованных секретах для Dependabot

Секреты Dependabot — это зашифрованные учетные данные, создаваемые на уровне организации или репозитория. При добавлении секрета на уровне организации можно указать, какие репозитории могут получать к нему доступ. С помощью секретов можно разрешить Dependabot обновлять зависимости, расположенные в частных реестрах пакетов. При добавлении секрета он шифруется до достижения GitHub и остается зашифрованным, пока не будет использоваться Dependabot для доступа к частному реестру пакетов.

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

После добавления секрета Dependabot его можно ссылаться в dependabot.yml файле конфигурации следующим образом: ${{secrets.NAME}}, где "NAME" — это имя, выбранное для секрета. Например:

password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}

Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Присвоение имен секретам

Имя секрета Dependabot:

  • может содержать только буквы и цифры ([A-Z], [0-9]) или символы подчеркивания (_); Пробелы недопустимы. Если ввести строчные буквы, они будут изменены на прописные.
  • не должно начинаться с префикса GITHUB_;
  • не должно начинаться с цифры.

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

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

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

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

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

  4. Выберите Новый секрет репозитория.

  5. Введите имя для секрета в поле ввода Имя.

  6. Введите значение для секрета.

  7. Щелкните Добавить секрет.

    Имя секрета отображается на странице секретов Dependabot. Можно нажать кнопку Обновить, чтобы изменить значение секрета. Можно нажать кнопку Удалить, чтобы удалить секрет.

Добавление секрета организации для Dependabot

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

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

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

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

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

  4. Щелкните Создать секрет организации.

  5. Введите имя для секрета в поле ввода Имя.

  6. Введите значение для секрета.

  7. В раскрывающемся списке Доступ к репозиторию выберите политику доступа.

  8. Если вы выбрали вариант Выбранные репозитории:

    • Щелкните .
    • В диалоговом окне выберите репозитории, которые могут получить доступ к этому секрету.
    • Нажмите Обновить выбор.
  9. Щелкните Добавить секрет.

    Имя секрета отображается на странице секретов Dependabot секретов. Можно нажать кнопку Обновить, чтобы изменить значение секрета или политику доступа. Можно нажать кнопку Удалить, чтобы удалить секрет.