Skip to main content

Administración de actualizaciones de dependencias

chat de Copilot puede ayudarte a configurar con Dependabot para simplificar las actualizaciones de dependencias.

Automatización de las actualizaciones de dependencias

Escenario de ejemplo

Imagina que tu proyecto depende de numerosas bibliotecas y paquetes. Las dependencias vulnerables o obsoletas crean riesgos de seguridad que pueden afectar a la project y a otros usuarios que dependen de ella.

chat de Copilot puede ayudarte a configurar con actualizaciones de seguridad y versiones de Dependabot para que las dependencias tengan siempre las versiones más seguras y actualizadas. Consulta Sobre las actualizaciones de seguridad de Dependabot y Acerca de las actualizaciones a la versión del Dependabot.

Antes de comenzar, asegúrate de que Dependabot esté totalmente habilitado en la "Configuración" del repositorio.

  1. En la configuración de "Seguridad de código", asegúrate de que Dependabot alerts y Dependabot security updates estén establecidos en "Activado".
  2. Cree y confirme un archivo .github/dependabot.yml vacío en el repositorio.

Ejemplos de indicaciones

Asegúrate de que el repositorio está adjunto al mensaje para otorgar contexto.

Copilot prompt
Analyze 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.).

For 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.

In 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.

Salida de ejemplo

chat de Copilot analiza el repositorio y escribe el contenido del archivo de configuración de dependabot.yml automáticamente, lo que indica a Dependabot qué dependencias necesita examinar.

version: 2
updates:
  # Python (pip)
  - package-ecosystem: "pip"
    directory: "/"                     # Location of requirements.txt
    schedule:
      interval: "weekly"               # Weekly updates are a good balance for libraries
      day: "sunday"
      time: "06:00"
      timezone: "UTC"
    open-pull-requests-limit: 5
    allow:
      - dependency-type: "all"
    commit-message:
      prefix: "pip"
    labels:
      - "dependencies"
      - "python"
    ignore:
      - dependency-name: "pip"         # Ignore pip self-updates

  # GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"                     # Looks for workflow files under .github/workflows/
    schedule:
      interval: "weekly"
      day: "sunday"
      time: "06:00"
      timezone: "UTC"
    open-pull-requests-limit: 5
    commit-message:
      prefix: "actions"
    labels:
      - "dependencies"
      - "github-actions"

Una vez que hayas comprometido el archivo dependabot.yml a tu repositorio, Dependabot comenzará a abrir solicitudes de extracción contra tu repositorio, siempre que se detecte una dependencia vulnerable o obsoleta.

Personalización de la administración de dependencias

Escenario de ejemplo

Imagínate que tu equipo ha estado utilizando la configuración básica de Dependabot durante unos meses y estás recibiendo muchas solicitudes de actualización de dependencias. Pero descubres que:

  • Las solicitudes de cambios no se revisan porque no se ha asignado a nadie automáticamente.
  • Quieres que las solicitudes de cambios se agreguen automáticamente al panel del proyecto del equipo mediante una etiqueta.
  • La CI se sobrecarga con demasiadas solicitudes de cambios de dependencia simultáneas.
  • Recibes actualizaciones para dependencias de desarrollo que no afectan a producción.

Quieres personalizar la configuración de Dependabot para que se ajuste mejor al flujo de trabajo del equipo, como asignar automáticamente solicitudes de cambios a los miembros del equipo correctos, agregar etiquetas para agregar solicitudes de cambios al panel del proyecto, limitar el número de solicitudes de cambios abiertas y centrarse solo en dependencias de producción.

chat de Copilot puede escribir un dependabot.yml actualizado que se adapte mejor a las necesidades de tu equipo.

Ejemplos de indicaciones

Copilot prompt
I want to customize my pull requests for Dependabot security and version updates, so that:

* Pull requests are automatically assigned to the team "octocat-reviewers."
* The label "security-management" is automatically added to every pull request.
* The number of open Dependabot PRs is limited.
* Development dependencies are ignored.

Draft an update to the dependabot.yml file in my repository that specifies these customization options.

Sugerencia

Salida de ejemplo

version: 2
updates:
  # Python (pip)
  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "sunday"
      time: "06:00"
      timezone: "UTC"
    open-pull-requests-limit: 5
    allow:
      - dependency-type: "production"     # Ignore development dependencies
    assignees:
      - "octocat-reviewers"               # Assign PRs to the team
    labels:
      - "dependencies"
      - "security-management"             # Custom label for all PRs
      - "python"
    commit-message:
      prefix: "pip"
    ignore:
      - dependency-name: "pip"