{"meta":{"title":"Управление обновлениями зависимостей","intro":"Copilot Chat Это поможет вам настроиться Dependabot для оптимизации обновлений зависимостей.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ru/copilot","title":"GitHub Copilot"},{"href":"/ru/copilot/tutorials","title":"Учебники"},{"href":"/ru/copilot/tutorials/copilot-cookbook","title":"Кулинарная книга GitHub Copilot"},{"href":"/ru/copilot/tutorials/copilot-cookbook/analyze-security","title":"Анализ безопасности"},{"href":"/ru/copilot/tutorials/copilot-cookbook/analyze-security/manage-dependency-updates","title":"Управление обновлениями зависимостей"}],"documentType":"article"},"body":"# Управление обновлениями зависимостей\n\nCopilot Chat Это поможет вам настроиться Dependabot для оптимизации обновлений зависимостей.\n\n## Автоматизация обновлений зависимостей\n\n### Пример сценария\n\nДопустим, ваш project зависит от множества библиотек и пакетов. Уязвимые или устаревшие зависимости создают риски безопасности, которые могут повлиять на ваш project и другие, кто от него зависит.\n\nCopilot Chat Это поможет вам настроить Dependabot безопасность и обновления версий, чтобы ваши зависимости всегда оставались на самых безопасных и up-toдатовых версиях. См. [Обновления для системы безопасности Dependabot](/ru/code-security/concepts/supply-chain-security/dependabot-security-updates) и [Обновления версий Dependabot](/ru/code-security/concepts/supply-chain-security/dependabot-version-updates).\n\nПеред началом убедитесь, что он Dependabot полностью включён в «Настройках» вашего репозитория.\n\n1. В настройках «Безопасность кода» убедитесь, **Dependabot alerts** что обе **Dependabot security updates** установлены в «Включено».\n2. Создайте и зафиксируйте пустой файл `.github/dependabot.yml` в репозиторий.\n\n### Пример запроса\n\nУбедитесь, что репозиторий подключен к запросу контекста.\n\n```copilot copy\nAnalyze the codebase and project structure of this repository. Detect all package managers and package ecosystems in use, including their respective locations (e.g., npm, yarn, pip, maven, gradle, composer, github-actions, etc.).\n\nFor each detected ecosystem, create a configuration entry in a single, top-level .github/dependabot.yml file that enables security and version updates on a reasonable schedule. Use the recommended best practices for each ecosystem. Clearly specify the directory for each ecosystem detected. If multiple ecosystems or multiple directories are present, include them all in the configuration.\n\nIn the output, include any notes on the configuration or best practices, as well as next steps that include how to commit the dependabot.yml file to the repository via the GitHub web browser and how to check that Dependabot version updates and Dependabot security updates are enabled.\n```\n\n### Пример выходных данных\n\nCopilot Chat Анализирует ваш репозиторий и записывает содержимое `dependabot.yml` конфигурационного файла, который показывает Dependabot , какие зависимости нужно сканировать.\n\n```yaml\nversion: 2\nupdates:\n  # Python (pip)\n  - package-ecosystem: \"pip\"\n    directory: \"/\"                     # Location of requirements.txt\n    schedule:\n      interval: \"weekly\"               # Weekly updates are a good balance for libraries\n      day: \"sunday\"\n      time: \"06:00\"\n      timezone: \"UTC\"\n    open-pull-requests-limit: 5\n    allow:\n      - dependency-type: \"all\"\n    commit-message:\n      prefix: \"pip\"\n    labels:\n      - \"dependencies\"\n      - \"python\"\n    ignore:\n      - dependency-name: \"pip\"         # Ignore pip self-updates\n\n  # GitHub Actions\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"                     # Looks for workflow files under .github/workflows/\n    schedule:\n      interval: \"weekly\"\n      day: \"sunday\"\n      time: \"06:00\"\n      timezone: \"UTC\"\n    open-pull-requests-limit: 5\n    commit-message:\n      prefix: \"actions\"\n    labels:\n      - \"dependencies\"\n      - \"github-actions\"\n```\n\nПосле того как вы закрепите `dependabot.yml` файл в репозиторий, Dependabot начнём открывать pull request-запросы к вашему репозиторию, когда обнаруживается уязвимая или устаревшая зависимость.\n\n## Настройка управления зависимостями\n\n### Пример сценария\n\nДопустим, ваша команда использует базовую Dependabot конфигурацию уже несколько месяцев, и вы получаете много pull request-запросов на обновления зависимостей. Тем не менее, вы обнаруживаете, что:\n\n* Запросы на вытягивание сидят без проверки, так как никто не назначается автоматически.\n* Вы хотите, чтобы pull requests автоматически добавлялись на доску project вашей команды через метку.\n* Ci становится перегруженным с слишком большим количеством одновременных запросов на вытягивание зависимостей.\n* Вы получаете обновления для зависимостей разработки, которые не влияют на рабочую среду.\n\nВы хотите настроить Dependabot конфигурацию под рабочий процесс вашей команды, например, автоматически назначайте pull-запросы нужным членам команды, добавляйте метки для добавления pull requests в проектную доску, ограничивая количество открытых pull requests и сосредотачиваясь только на зависимостях от продакшена.\n\nCopilot Chat Можете написать обновление `dependabot.yml` , которое лучше соответствует потребностям вашей команды.\n\n### Пример запроса\n\n```copilot copy\nI want to customize my pull requests for Dependabot security and version updates, so that:\n\n* Pull requests are automatically assigned to the team \"octocat-reviewers.\"\n* The label \"security-management\" is automatically added to every pull request.\n* The number of open Dependabot PRs is limited.\n* Development dependencies are ignored.\n\nDraft an update to the dependabot.yml file in my repository that specifies these customization options.\n```\n\n> \\[!TIP]\n>\n> * Существует множество вариантов настройки для изучения. Дополнительные сведения см. в разделе \\[AUTOTITLE и [Настройка запросов на вытягивание обновлений безопасности Dependabot](/ru/code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/customizing-dependabot-security-prs)]\\(/code-security/tutorials/secure-your-dependencies/customizing-dependabot-prs).\n> * Вы можете указать различные настройки для каждой экосистемы пакетов.\n\n### Пример выходных данных\n\n```yaml\nversion: 2\nupdates:\n  # Python (pip)\n  - package-ecosystem: \"pip\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n      day: \"sunday\"\n      time: \"06:00\"\n      timezone: \"UTC\"\n    open-pull-requests-limit: 5\n    allow:\n      - dependency-type: \"production\"     # Ignore development dependencies\n    assignees:\n      - \"octocat-reviewers\"               # Assign PRs to the team\n    labels:\n      - \"dependencies\"\n      - \"security-management\"             # Custom label for all PRs\n      - \"python\"\n    commit-message:\n      prefix: \"pip\"\n    ignore:\n      - dependency-name: \"pip\"\n```"}