Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.

Cette version de GitHub Enterprise a été abandonnée le 2023-03-15. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Configuration de mises à jour de version Dependabot

Vous pouvez configurer votre référentiel de sorte que Dependabot mette automatiquement à jour les packages que vous utilisez.

Qui peut utiliser cette fonctionnalité

People with write permissions to a repository can enable or disable Dependabot version updates for the repository.

**Remarque :** Les mises à jour de sécurité et de version de Dependabot sont actuellement en version bêta publique et susceptibles d’être modifiées.

Remarque : Votre administrateur de site doit configurer les Dependabot updates pour votre instance GitHub Enterprise Server afin que vous puissiez utiliser cette fonctionnalité. Pour plus d’informations, consultez « Activation de Dependabot pour votre entreprise ».

À propos des mises à jour de version pour les dépendances

Vous activez les Dependabot version updates en archivant un fichier de configuration dependabot.yml dans le répertoire .github de votre dépôt. Dependabot déclenche ensuite des demandes de tirage (pull request) pour maintenir à jour les dépendances que vous configurez. Pour les dépendances de chaque gestionnaire de package que vous souhaitez mettre à jour, vous devez spécifier l’emplacement des fichiers manifeste de package et la fréquence à laquelle rechercher les mises à jour des dépendances listées dans ces fichiers. Pour plus d’informations sur l’activation des mises à jour de sécurité, consultez « Configuration des mises à jour de sécurité Dependabot ».

Lorsque vous activez les mises à jour de version pour la première fois, vous pouvez avoir de nombreuses dépendances obsolètes et certaines peuvent remonter à de nombreuses versions avant la dernière version. Dependabot recherche les dépendances obsolètes dès qu’il est activé. Vous pouvez voir de nouvelles demandes de tirage pour les mises à jour de version dans les minutes qui suivent l’ajout du fichier de configuration, en fonction du nombre de fichiers manifeste pour lesquels vous configurez les mises à jour. Dependabot exécute également une mise à jour sur les modifications suivantes apportées au fichier de configuration.

Dependabot peut également créer des demandes de tirage lorsque vous modifiez un fichier manifeste une fois qu’une mise à jour a échoué. Cela est dû au fait que les modifications apportées à un manifeste, telles que la suppression de la dépendance qui a provoqué l’échec de la mise à jour, peuvent entraîner la réussite de la mise à jour nouvellement déclenchée.

Pour que les demandes de tirage restent faciles à gérer et à réviser, Dependabot déclenche un maximum de cinq demandes de tirage pour commencer à mettre les dépendances à niveau vers la version la plus récente. Si vous fusionnez certaines de ces premières demandes de tirage avant la prochaine mise à jour planifiée, les demandes de tirage restantes seront ouvertes au cours de la prochaine mise à jour, jusqu’à ce maximum. Vous pouvez modifier le nombre maximal de demandes de tirage ouvertes en définissant l’option de configuration open-pull-requests-limit. Pour plus d’informations, consultez « Personnalisation des mises à jour des dépendances ».

Par défaut, seules les dépendances directes explicitement définies dans un manifeste sont tenues à jour par les Dependabot version updates. Vous pouvez choisir de recevoir des mises à jour pour les dépendances indirectes définies dans les fichiers de verrouillage. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».

Lors de l’exécution de mises à jour de sécurité ou de version, certains écosystèmes doivent être capables de résoudre toutes les dépendances de leur source pour vérifier que les mises à jour ont réussi. Si vos fichiers manifeste ou de verrouillage contiennent des dépendances privées, Dependabot doit être capable d’accéder à l’emplacement auquel ces dépendances sont hébergées. Les propriétaires de l’organisation peuvent octroyer à Dependabot un accès aux dépôts privés contenant des dépendances pour un projet au sein de cette même organisation. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d’analyse pour votre organisation ». Vous pouvez configurer un accès aux registres privés dans le fichier de configuration dependabot.yml d’un dépôt. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».En outre, Dependabot ne prend pas en charge les dépendances GitHub privées pour tous les gestionnaires de package. Pour plus d’informations, consultez « À propos des mises à jour de version Dependabot » et « Prise en charge GitHub des langages ».

Activation des Dependabot version updates

Vous activez les Dependabot version updates en validant un fichier de configuration dependabot.yml dans votre référentiel.

  1. Créez un fichier de configuration dependabot.yml dans le répertoire .github de votre référentiel.

  2. Ajoutez une version.

  3. Si vous avez des dépendances dans un registre privé, vous pouvez ajouter une section registries contenant les détails de l’authentification.

  4. Ajoutez une section updates, avec une entrée pour chaque gestionnaire de package à faire superviser par Dependabot.

  5. Pour chaque gestionnaire de package, utilisez :

    • package-ecosystem pour spécifier le gestionnaire de package.
    • directory pour spécifier l’emplacement du manifeste ou d’autres fichiers de définition.
    • schedule.interval pour spécifier la fréquence à laquelle rechercher les nouvelles versions.
  6. Vérifiez le fichier de configuration dependabot.yml dans le répertoire .github du référentiel.

Pour plus d’informations sur toutes les options de configuration, consultez Options de configuration pour le fichier dependabot.yml.

Exemple de fichier dependabot.yml

L’exemple de fichier dependabot.yml ci-dessous configure les mises à jour de version pour deux gestionnaires de package : npm et Docker. Quand ce fichier est archivé, Dependabot vérifie si les fichiers manifestes sur la branche par défaut contiennent des dépendances obsolètes. S’il trouve des dépendances obsolètes, il déclenche des demandes de tirage par rapport à la branche par défaut pour mettre à jour les dépendances.

# Basic dependabot.yml file with
# minimum configuration for two package managers

version: 2
updates:
  # Enable version updates for npm
  - package-ecosystem: "npm"
    # Look for `package.json` and `lock` files in the `root` directory
    directory: "/"
    # Check the npm registry for updates every day (weekdays)
    schedule:
      interval: "daily"

  # Enable version updates for Docker
  - package-ecosystem: "docker"
    # Look for a `Dockerfile` in the `root` directory
    directory: "/"
    # Check for updates once a week
    schedule:
      interval: "weekly"

Dans l’exemple ci-dessus, si les dépendances Docker étaient très obsolètes, vous pourriez commencer par une planification daily jusqu’à ce que les dépendances soient à jour, puis revenir à une planification hebdomadaire.

Activation des mises à jour de version sur les duplications (forks)

Si vous souhaitez activer les mises à jour de version sur les duplications, il existe une étape supplémentaire. Les mises à jour de version ne sont pas automatiquement activées sur les duplications quand un fichier de configuration dependabot.yml est présent. Cela garantit que les propriétaires de duplication n’activent pas involontairement les mises à jour de version quand ils tirent (pull) des modifications incluant un fichier de configuration dependabot.yml à partir du dépôt d’origine.

Sur une duplication, vous devez également activer explicitement Dependabot.

  1. Dans votre instance GitHub Enterprise Server, accédez à la page principale du dépôt. 1. Sous le nom de votre référentiel, cliquez sur Insights.

    Capture d’écran de la page principale d’un dépôt. Dans la barre de navigation horizontale, un onglet, marqué d’une icône de graphique et du titre « Insights », est indiqué en orange foncé. 3. Dans la barre latérale à gauche, cliquez sur Graphe des dépendances. Capture d’écran de l’onglet « Graphe des dépendances ». L’onglet est mis en évidence avec un encadré orange. 4. Sous « Graphe de dépendances », cliquez sur Dependabot .

  2. Sous « Activer Dependabot », cliquez sur Activer Dependabot.

Vérification de l’état des mises à jour de version

Une fois que vous avez activé les mises à jour de version, l’onglet Dependabot dans le graphe de dépendances du dépôt est rempli. Cet onglet indique quels sont les gestionnaires de packages que Dependabot doit superviser et quand Dependabot a recherché les nouvelles versions pour la dernière fois.

Capture d’écran de la page Graphe des dépendances. Un onglet intitulé « Dependabot » est mis en évidence avec un encadré orange.

Pour plus d’informations, consultez « Liste des dépendances configurées pour les mises à jour de version ».

Désactivation des Dependabot version updates

Vous pouvez désactiver entièrement les mises à jour de version en supprimant le fichier dependabot.yml de votre dépôt. Plus généralement, vous souhaitez désactiver temporairement les mises à jour pour une ou plusieurs dépendances ou gestionnaires de packages.

  • Gestionnaires de packages : effectuez la désactivation en définissant open-pull-requests-limit: 0 ou en commentant l’élément package-ecosystem approprié dans le fichier de configuration.
  • Dépendances spécifiques : effectuez la désactivation en ajoutant des attributs ignore pour les packages ou les applications que vous souhaitez exclure des mises à jour.

Quand vous désactivez les dépendances, vous pouvez utiliser des caractères génériques pour désigner un ensemble de bibliothèques associées. Vous pouvez également spécifier les versions à exclure. Cela est particulièrement utile si vous devez bloquer les mises à jour d’une bibliothèque, en attente d’un travail permettant de prendre en charge un changement cassant de son API, mais que vous souhaitez obtenir des correctifs de sécurité pour la version que vous utilisez.

Exemple de désactivation des mises à jour de version pour certaines dépendances

L’exemple de fichier dependabot.yml ci-dessous inclut des exemples des différentes façons de désactiver les mises à jour de certaines dépendances, tout en permettant la poursuite des autres mises à jour.

# dependabot.yml file with updates
# disabled for Docker and limited for npm

version: 2
updates:
  # Configuration for Dockerfile
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
      # Disable all pull requests for Docker dependencies
    open-pull-requests-limit: 0

  # Configuration for npm
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    ignore:
      # Ignore updates to packages that start with 'aws'
      # Wildcards match zero or more arbitrary characters
      - dependency-name: "aws*"
      # Ignore some updates to the 'express' package
      - dependency-name: "express"
        # Ignore only new versions for 4.x and 5.x
        versions: ["4.x", "5.x"]
      # For all packages, ignore all patch updates
      - dependency-name: "*"
        update-types: ["version-update:semver-patch"]

Pour savoir si des préférences « ignore » sont appliquées, consultez « Options de configuration pour le fichier dependabot.yml ».