Informationen zu selbst gehosteten Runnern für Dependabot updates
Du kannst Benutzer*innen von Ihre GitHub Enterprise Server-Instance helfen, sicheren Code zu erstellen und zu pflegen, indem du mit Dependabot Sicherheits- und Versionsupdates einrichtest. Mit Dependabot updates können Entwickler Repositorys so konfigurieren, dass ihre Abhängigkeiten aktualisiert und automatisch gesichert werden. Weitere Informationen findest du unter Aktivieren von Dependabot für dein Unternehmen.
Um Dependabot updates auf Ihre GitHub Enterprise Server-Instance zu verwenden, musst du selbstgehostete Runner konfigurieren, um die Pull Requests zu erstellen, die die Abhängigkeiten aktualisieren.
Voraussetzungen
Das Konfigurieren von selbstgehosteten Runnern ist nur ein Schritt in der Mitte des Prozesses zum Aktivieren von Dependabot updates. Es gibt mehrere Schritte, die du vor diesen Schritten ausführen musst, einschließlich der Konfiguration von Ihre GitHub Enterprise Server-Instance, um GitHub Actions mit selbstgehosteten Runnern zu verwenden. Weitere Informationen findest du unter Aktivieren von Dependabot für dein Unternehmen.
Konfigurieren selbst gehosteter Runner für Dependabot updates
Nachdem du Ihre GitHub Enterprise Server-Instance so konfiguriert hast, dass GitHub Actions verwendet wird, musst du selbstgehostete Runner für Dependabot updates hinzufügen.
Systemanforderungen für Dependabot-Runner
Jede 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.
- Du solltest Docker im Rootless-Modus installieren und die Runner für den Zugriff auf Docker ohne
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}
]
}
Netzwerkanforderungen für Dependabot-Runner
Die Dependabot-Runner benötigen Zugriff auf das öffentliche Internet, GitHub.com, und auf alle internen Registrierungen, die in den Updates von Dependabot 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.
Zertifikatskonfiguration für Dependabot-Runner
Wenn deine GitHub Enterprise Server-Instanz ein selbstsigniertes Zertifikat verwendet oder Dependabot mit Registrierungen interagieren müssen, die selbstsignierte Zertifikate verwenden, müssen diese Zertifikate auch auf den selbst gehosteten Läufern installiert werden, die Dependabot Aufträge ausführen. Dadurch wird die Sicherheit der Verbindung erhöht. Du musst auch Node.js für die Verwendung des Zertifikats konfigurieren, da die meisten Aktionen in JavaScript geschrieben sind und mit Hilfe von Node.js ausgeführt werden, das nicht den Zertifikatspeicher des Betriebssystems verwendet.
Hinzufügen selbst gehosteter Runner für Dependabot-Updates
-
Bereitstellen selbst gehosteter Runner auf der Ebene von Repository, Organisation oder Unternehmenskonto. Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern und unter Selbst-gehostete Runner hinzufügen.
-
Richte die selbst gehosteten Runner mit den oben beschriebenen Anforderungen ein. Beispielsweise würdest du auf einer VM, auf der Ubuntu 20.04 ausgeführt wird, folgendes ausführen:
- Installiere Docker, und stelle sicher, dass die Runner-Benutzer Zugriff auf Docker haben. Weitere Informationen findest du in der Dokumentation zur Docker.
- Installieren der Docker-Engine unter Ubuntu
- Empfohlene Vorgehensweise: Ausführen des Docker-Daemons als Nicht-Root-Benutzer (Rootless-Modus).
- Alternativer Ansatz: Verwalten von Docker als Nicht-Root-Benutzer
- Stelle sicher, dass die Runner Zugriff auf das öffentliche Internet haben und nur auf die internen Netzwerke zugreifen können, die Dependabot benötigt.
- Installiere alle selbstsignierten Zertifikate für deine GitHub Enterprise Server-Instanz oder für Registrierungsstellen, mit denen Dependabot interagieren müssen.
- Konfiguriere Node.js so, dass es das gleiche Zertifikat verwendet. Weitere Informationen findest du unter Behandeln von Problemen mit GitHub Actions für dein Unternehmen.
- Installiere Docker, und stelle sicher, dass die Runner-Benutzer Zugriff auf Docker haben. Weitere Informationen findest du in der Dokumentation zur Docker.
-
Weise jedem Runner eine
dependabot
-Bezeichnung zu, die Dependabot verwenden soll. Weitere Informationen findest du unter Verwenden von Bezeichnungen mit selbstgehosteten Runnern. -
Aktiviere optional Workflows, die von Dependabot ausgelöst werden, um mehr als schreibgeschützte Berechtigungen zu verwenden und Zugriff auf alle Geheimnisse zu haben, die normalerweise verfügbar sind. Weitere Informationen findest du unter Behandeln von Problemen mit GitHub Actions für dein Unternehmen.