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.

Wer kann dieses Feature verwenden?

Organisationsbesitzer und Repositoryadministratoren

About Dependabot on GitHub Actions self-hosted runners

Wenn Sie Dependabot für ein neues Repository aktivieren und GitHub Actions aktiviert ist, werden Dependabot standardmäßig auf GitHub Actions ausgeführt.

Wenn Sie Dependabot für ein neues Repository aktivieren und GitHub Actions deaktiviert ist, wird Dependabot über die ältere Anwendung in GitHub Enterprise Cloud ausgeführt, um Dependabot updates auszuführen. Dies bietet nicht so gute Leistung, Sichtbarkeit oder Kontrolle von Dependabot updates Jobs wie GitHub Actions. Wenn du Dependabot mit GitHub Actions verwenden möchtest, musst du sicherstellen, dass dein Repository GitHub Actions aktiviert. Aktiviere anschließend „Dependabot on Actions runners“ auf der Einstellungsseite „Code security“ des Repositorys. For more information, see Informationen zu Dependabot über GitHub Actions-Runner.

Note

Zukünftige Versionen von GitHub führen immer Dependabot mit GitHub Actions aus, und Sie haben nicht mehr die Möglichkeit, diese Einstellung zu aktivieren oder zu deaktivieren.

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 unterstützt nicht die Verwendung privater Netzwerke mit einem virtuellen Azure-Netzwerk (VNet) oder dem Actions Runner Controller (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 Leitfaden zum Konfigurieren privater Registrierungen für 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 Informationen zu Dependabot über GitHub Actions-Runner.

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 GitHub Actions für deine Organisation Deaktivieren oder Einschränken.

Wenn du eine Richtlinie durchsetzt, die nur unternehmensinterne Aktionen und wiederverwendbare Workflows zulässt, und Dependabot in GitHub Actions aktivierst, wird Dependabot nicht ausgeführt. Damit Dependabot mit Ihren unternehmensinternen Aktionen und wiederverwendbaren Workflows ausgeführt werden kann, sollten Sie entweder von GitHub erstellte Aktionen zulassen oder bestimmte Aktionen und wiederverwendbare Workflows zulassen. Weitere Informationen findest du unter Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.

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

Jede virtuelle Maschine (VM), die du für Dependabot-Runner verwendest, muss die Anforderungen für selbst gehostete Runner erfüllen. Sie muss außerdem die folgenden Anforderungen erfüllen.

  • Linux-Betriebssystem

  • x64-Architektur

  • Docker ist mit Zugriff für die Runner-Benutzer installiert:

    • Du solltest Docker im Rootless-Modus installieren und die Runner für den Zugriff auf Docker ohne root-Berechtigungen konfigurieren.
    • Installiere alternativ Docker, und gib den Runner-Benutzern Berechtigungen zum Ausführen von Docker.

Die CPU- und Speicheranforderungen hängen von der Anzahl der gleichzeitigen Runner ab, die du auf einer bestimmten VM bereitstellst. Als Anhaltspunkt: Wir haben erfolgreich 20 Runner auf einem einzelnen Computer mit 2 CPUs und 8 GB eingerichtet. Letztendlich hängen deine CPU- und Speicheranforderungen jedoch stark von den zu aktualisierenden Repositories ab. Einige Ökosysteme erfordern mehr Ressourcen als andere.

Wenn du mehr als 14 gleichzeitige Runner auf einer VM angibst, musst du auch die Docker-/etc/docker/daemon.json-Konfiguration aktualisieren, um die Standardanzahl von Netzwerken zu erhöhen, die Docker erstellen kann.

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

Network requirements for Dependabot runners

Die Dependabot-Runner benötigen Zugriff auf das öffentliche Internet, GitHub.com, und auf alle internen Registrierungen, die in Dependabot updates verwendet werden. Um das Risiko für dein internes Netzwerk zu minimieren, solltest du den Zugriff auf den virtuellen Computer (VM) auf dein internes Netzwerk beschränken. Dadurch wird das Potenzial für Schäden an internen Systemen reduziert, wenn ein Runner eine Hijack-Abhängigkeit herunterladen sollte.

Du musst ausgehenden Datenverkehr zu dependabot-actions.githubapp.com zulassen, um zu verhindern, dass die Aufträge für Dependabot security updates fehlschlagen. Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.

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 Informationen zu selbstgehosteten Runnern and Selbst-gehostete Runner hinzufügen.

  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 Verwenden von Bezeichnungen mit selbstgehosteten Runnern.

  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. Navigieren Sie auf GitHub zur Hauptseite des Repositorys.

  2. Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke im Abschnitt „Security“ der Seitenleiste auf „Code security“.

  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 größere Runner. For more information, see Informationen zu Dependabot über GitHub Actions-Runner.

  1. Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
  2. Klicke neben der Organisation auf Einstellungen.
  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 Konfigurieren globaler Sicherheitseinstellungen für Ihre Organisation.