Skip to main content

Managing Dependabot on self-hosted runners

You can configure self-hosted runners that Dependabot uses to access your private registries and internal network resources.

Qui peut utiliser cette fonctionnalité ?

Propriétaires d'organisations et administrateurs de référentiels

About Dependabot on GitHub Actions self-hosted runners

Si vous activez Dependabot sur un nouveau référentiel et que GitHub Actions est activé, Dependabot s’exécute sur GitHub Actions par défaut.

Si vous activez Dependabot sur un nouveau référentiel et que vous avez désactivé GitHub Actions, Dependabot s'exécutera sur l'application héritée dans GitHub Enterprise Cloud pour effectuer Dependabot updates. Cela ne permet pas d'obtenir des performances, une visibilité ou un contrôle des tâches Dependabot updates aussi bons que ceux de GitHub Actions. Si vous souhaitez utiliser Dependabot avec GitHub Actions, vous devez vous assurer que votre référentiel active GitHub Actions, puis activer « Dependabot sur les exécuteurs d’actions » à partir de la page de paramètres « Sécurité du code » du référentiel. For more information, see À propos de Dependabot sur les exécuteurs GitHub Actions.

Note

Les futures versions de GitHub exécutent toujours Dependabot à l’aide de GitHub Actions, et vous n’avez plus la possibilité d’activer ou de désactiver ce paramètre.

You can help users of your organization and repositories to create and maintain secure code by setting up Dependabot security and version updates. With Dependabot updates, developers can configure repositories so that their dependencies are updated and kept secure automatically. Running Dependabot on GitHub Actions allows for better performance, and increased visibility and control of Dependabot jobs.

Note

Dependabot ne prend pas en charge l'utilisation d'un réseau privé avec un réseau virtuel Azure (VNET) ou le contrôleur Actions Runner (ARC).

To have greater control over Dependabot access to your private registries and internal network resources, you can configure Dependabot to run on GitHub Actions self-hosted runners.

For security reasons, when running Dependabot on GitHub Actions self-hosted runners, Dependabot updates will not be run on public repositories.

For more information about configuring Dependabot access to private registries when using GitHub-hosted runners, see Aide pour la configuration des registres privés pour Dependabot. For information about which ecosystems are supported as private registries, see Removing Dependabot access to public registries.

Prerequisites

You must have Dependabot installed and enabled, and GitHub Actions enabled and in use. The "Dependabot on GitHub Actions Runners" setting for your organization should also be enabled. For more information, see À propos de Dependabot sur les exécuteurs GitHub Actions.

Your organization may have configured a policy to restrict actions and self-hosted runners from running in specific repositories, which in turn will not allow Dependabot to run on GitHub Actions self-hosted runners. In this case, the organization or repository level setting to enable "Dependabot on self-hosted runners" will not be visible in the web UI. For more information, see Désactivation ou limitation de la fonctionnalité GitHub Actions pour votre organisation.

Lorsque vous appliquez une stratégie pour autoriser les actions et les flux de travail réutilisables uniquement dans votre entreprise, et que vous activez Dependabot sur GitHub Actions, Dependabot ne s’exécute pas. Pour activer Dependabot pour s’exécuter avec vos actions d’entreprise et les flux de travail réutilisables, vous devez choisir d’autoriser les actions créées par GitHub, ou d’autoriser les actions spécifiées et les flux de travail réutilisables. Pour plus d’informations, consultez « Application de stratégies pour GitHub Actions dans votre entreprise ».

Configuring self-hosted runners for Dependabot updates

After you configure your organization or repository to run Dependabot on GitHub Actions, and before you enable Dependabot on self-hosted runners, you need to configure self-hosted runners for Dependabot updates.

System requirements for Dependabot runners

Les machines virtuelles que vous utilisez pour les exécuteurs Dependabot doivent toutes respecter la configuration requise pour les exécuteurs auto-hébergés. Par ailleurs, elles doivent satisfaire les exigences suivantes.

  • Système d’exploitation Linux

  • Architecture x64

  • Docker installé avec un accès pour les utilisateurs des exécuteurs :

    • Nous vous recommandons d’installer Docker en mode sans racine et de configurer les exécuteurs de sorte qu’ils puissent accéder à Docker sans privilèges root.
    • Vous pouvez aussi installer Docker et accorder aux utilisateurs des exécuteurs des privilèges accrus pour exécuter Docker.

Les besoins en processeur et mémoire dépendent du nombre d’exécuteurs simultanés que vous déployez sur une machine virtuelle donnée. Pour indication, nous avons installé avec succès 20 exécuteurs sur un ordinateur à 2 processeurs de 8 Go, mais en fin de compte, vos besoins en processeur et mémoire varieront fortement en fonction des dépôts qui sont mis à jour. Certains écosystèmes demandent plus de ressources que d’autres.

Si vous spécifiez plus de 14 exécuteurs simultanés sur une machine virtuelle, vous devez aussi mettre à jour la configuration /etc/docker/daemon.json Docker pour accroître le nombre de réseaux par défaut que Docker peut créer.

{
  "default-address-pools": [
    {"base":"10.10.0.0/16","size":24}
  ]
}

Network requirements for Dependabot runners

Les exécuteurs Dependabot nécessitent un accès à l’Internet public, GitHub.com, et aux registres internes qui seront utilisés dans les Dependabot. Pour limiter les risques sur votre réseau interne, vous devez limiter l’accès de la machine virtuelle à votre réseau interne. Cela réduit les risques de dommages que pourraient subir vos systèmes internes si un exécuteur venait à télécharger une dépendance détournée.

Certificate configuration for Dependabot runners

If Dependabot needs to interact with registries that use self-signed certificates, those certificates must also be installed on the self-hosted runners that run Dependabot jobs. This security hardens the connection. You must also configure Node.js to use the certificate, because most actions are written in JavaScript and run using Node.js, which does not use the operating system certificate store.

Adding self-hosted runners for Dependabot updates

  1. Provision self-hosted runners, at the repository or organization level. For more information, see À propos des exécuteurs auto-hébergés and Ajout d’exécuteurs auto-hébergés.

  2. Set up the self-hosted runners with the requirements described above. For example, on a VM running Ubuntu 20.04 you would:

  3. Assign a dependabot label to each runner you want Dependabot to use. For more information, see Utilisation d’étiquettes avec des exécuteurs auto-hébergés.

  4. Optionally, enable workflows triggered by Dependabot to use more than read-only permissions and to have access to any secrets that are normally available. For more information, see Troubleshooting Dependabot on GitHub Actions.

Enabling self-hosted runners for Dependabot updates

Once you have configured self-hosted runners for Dependabot updates, you can enable or disable Dependabot updates on self-hosted runners at the organization or repository level.

Note, disabling and re-enabling the "Dependabot on self-hosted runners" settings will not trigger a new Dependabot run.

Enabling or disabling for your repository

You can manage Dependabot on self-hosted runners for your private or internal repository.

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Sécurité » de la barre latérale, cliquez sur Sécurité du code.

  4. Under "Dependabot", to the right of "Dependabot on self-hosted runners", click Enable to enable the feature or Disable to disable it.

Enabling or disabling for your organization

You can enable Dependabot on self-hosted runners for all existing private or internal repositories in an organization. Only repositories already configured to run Dependabot on GitHub Actions will be updated to run Dependabot on self-hosted runners the next time a Dependabot job is triggered.

Note

You need to enable self-hosted runners for your organization if you use exécuteurs plus grands. For more information, see À propos de Dependabot sur les exécuteurs GitHub Actions.

  1. Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.
  2. En regard de l’organisation, cliquez sur Paramètres.
  3. In the "Security" section of the sidebar, click Code security then Global settings.
  4. Under "Dependabot", select "Dependabot on self-hosted runners" to enable the feature or deselect to disable it. This action enables or disables the feature for all new repositories in the organization.

For more information, see Configuration des paramètres de sécurité globaux pour votre organisation.