Skip to main content

Эта версия GitHub Enterprise Server будет прекращена 2024-09-24. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Настройка обновлений зависимостей

Вы можете определить, как Dependabot поддерживает ваши зависимости.

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

People with write permissions to a repository can configure Dependabot for the repository.

Примечание. Администратор сайта должен настроить Dependabot updates для ваш экземпляр GitHub Enterprise Server, прежде чем использовать эту функцию. Дополнительные сведения см. в разделе Включение Dependabot для предприятия.

Возможно, вы не сможете включить или отключить Dependabot updates , если владелец предприятия установил политику на уровне предприятия. Дополнительные сведения см. в разделе "Применение политик безопасности кода и анализа для вашего предприятия".

Сведения о настройке обновлений зависимостей

После включения обновлений версий можно настроить способ хранения зависимостей Dependabot путем добавления дополнительных параметров в dependabot.yml файл. Например, можно выполнить следующее.

  • Указать, в какой день недели следует открывать запросы на вытягивание для обновлений версий: schedule.day.
  • Задайте рецензенты, назначаемые и метки для каждого диспетчера пакетов: reviewers, assigneesи labels
  • Определить стратегию управления версиями для изменений в каждом файле манифеста: versioning-strategy.
  • Изменить максимальное количество открытых запросов на вытягивание для обновлений версий со значения по умолчанию (5) на другое значение: open-pull-requests-limit.
  • Открыть запросы на вытягивание для обновлений версий, чтобы выбрать конкретную ветвь вместо ветви по умолчанию: target-branch.

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

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

Влияние изменений конфигурации на обновления системы безопасности

Если вы настраиваете dependabot.yml файл, вы можете заметить некоторые изменения, внесенные в запросы на вытягивание для обновлений системы безопасности. Эти запросы на вытягивание всегда активируются советом по безопасности для зависимости, а не расписанием Dependabot. Однако они наследуют соответствующие параметры конфигурации из dependabot.yml файла, если не указать другую целевую ветвь для обновлений версий.

Пример см. в разделе Настройка пользовательских меток ниже.

Изменение расписания

При установке расписания обновления daily Dependabot по умолчанию проверяет наличие новых версий в 05:00 (UTC). С помощью schedule.time можно указать альтернативное время суток для проверки наличия обновлений (формат: hh:mm).

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

# `dependabot.yml` file with
# customized schedule for version updates

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    # Check the npm registry for updates at 2am UTC
    schedule:
      interval: "daily"
      time: "02:00"

Настройка рецензентов и уполномоченных

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

Вы можете использовать reviewers и assignees, чтобы указать рецензентов и уполномоченных для всех запросов на вытягивание, созданных для диспетчера пакетов. При указании команды необходимо использовать полное имя команды, как для команды @mentioning (включая организацию).

Приведенный ниже пример dependabot.yml файла изменяет конфигурацию npm, чтобы все запросы на вытягивание, открытые с помощью обновлений версии и системы безопасности для npm, имели два рецензента и одного назначаемого.

# `dependabot.yml` file with
# reviews and an assignee for all npm pull requests

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise all npm pull requests with reviewers
    reviewers:
      - "my-org/team-name"
      - "octocat"
    # Raise all npm pull requests with an assignee
    assignees:
      - "user-name"

Настройка пользовательских меток

По умолчанию Dependabot вызывает все запросы на вытягивание с меткой dependencies. Если определено несколько диспетчеров пакетов, Dependabot включает дополнительную метку для каждого запроса на вытягивание. Это указывает, какой язык или экосистема будет обновлять запрос на вытягивание, например: java для обновлений Gradle и submodules для обновлений подмодуля Git. Dependabot автоматически создает эти метки по умолчанию, как это требуется в репозитории.

Чтобы переопределить метки по умолчанию и указать альтернативные метки для всех запросов на вытягивание, созданных для диспетчера пакетов, можно использовать labels. В файле нельзя создавать новые метки, поэтому альтернативные метки dependabot.yml уже должны существовать в репозитории.

Приведенный ниже пример dependabot.yml файла изменяет конфигурацию npm, чтобы все запросы на вытягивание, открытые с помощью обновлений версии и системы безопасности для npm, имели пользовательские метки. Он также изменяет конфигурацию Docker, чтобы проверить наличие обновлений версий в пользовательской ветви и создать запросы на вытягивание с пользовательскими метками для этой пользовательской ветви. Изменения в Docker не повлияют на запросы на вытягивание для обновлений системы безопасности, так как обновления системы безопасности всегда выполняются в ветви по умолчанию.

Примечание. Новая ветвь target-branch должна содержать Dockerfile для обновления, в противном случае это изменение приведет к отключению обновлений версий для Docker.

# `dependabot.yml` file with
# customized npm configuration

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise all npm pull requests with custom labels
    labels:
      - "npm dependencies"
      - "triage-board"

    # Keep Docker dependencies up to date
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise pull requests for Docker version updates
    # against the "develop" branch. The Docker configuration
    # no longer affects security update pull requests.
    target-branch: "develop"
    # Use custom labels on pull requests for Docker version updates
    labels:
      - "Docker dependencies"
      - "triage-board"

Игнорируя определенные зависимости для Dependabot version updates

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

  • ignore Настройте параметр зависимости в dependabot.yml файле. Это можно использовать для пропуска обновлений для определенных зависимостей, версий и типов обновлений. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
  • Используйте @dependabot ignore команды комментариев для запроса на вытягивание Dependabot для обновлений версий. Команды комментариев можно использовать для пропуска обновлений для определенных зависимостей и версий. Дополнительные сведения см. в разделе Управление запросами на вытягивание для обновлений зависимостей.

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

Дополнительные примеры

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