Skip to main content

Einrichten von Dependabot zum Ausführen von auf GitHub gehosteten Aktionsrunnern mithilfe des privaten Azure-Netzwerks

Du kannst ein virtuelles Azure-Netzwerk (VNet) so konfigurieren, dass Dependabot auf Runnern ausgeführt wird, die auf GitHub gehostetet werden.

Wer kann dieses Feature verwenden?

Benutzer*innen mit Schreibzugriff

Konfigurieren eines VNet für Dependabot updates

Hinweis

Die VNet-Unterstützung für Dependabot für GitHub Actions befindet sich derzeit in public preview. Änderungen sind vorbehalten.

Dieser Artikel enthält schrittweise Anleitungen zum Ausführen von Dependabot auf Runner, die auf GitHub gehostet werden und mit einem VNet konfiguriert sind. In diesem Artikel wird Folgendes erläutert:

  • Erstellen von Runnergruppen für dein Unternehmen oder deine Organisation mit einer VNet-Konfiguration
  • Erstellen von Runnern für Dependabot in der Runnergruppe, die auf GitHub gehostet werden
  • Aktivieren von Dependabot für große Runner
  • Konfigurieren von IP-Regeln für die VNet-Firewall in Azure

Um Runner mit einem Azure-VNet zu verwenden, die auf GitHub gehostet werden, musst du zunächst deine Azure-Ressourcen konfigurieren und anschließend in GitHub eine Konfiguration für ein privates Netzwerk erstellen.

Konfigurieren von Azure-Ressourcen

Informationen zum Verwenden von Runnern mit einem privaten Azure-Netzwerk, die auf GitHub gehostet werden, findest du unter Konfigurieren deiner Azure-Ressourcen.

Hinweis

  • Die databaseId, die im Skript zum Konfigurieren der Azure-Ressourcen erforderlich ist, kann abhängig davon, ob du die Ressourcen für ein Unternehmen oder eine Organisation konfigurierst, auf eine der folgenden Komponenten verweisen:
  • Der Slug für dein Unternehmen https://github.com/enterprises/SLUG, den du anhand der URL für dein Unternehmen identifizieren kannst, oder
  • Die Anmeldung für das Organisationskonto https://github.com/organizations/ORGANIZATION_LOGIN, die du anhand der URL für deine Organisation identifizieren kannst
  • Das Skript gibt die vollständige Payload für die erstellte Ressource zurück. Der in der Payload für die erstellte Ressource zurückgegebene GitHubId-Hashwert ist die ID der Netzwerkeinstellungsressource, die du in den nächsten Schritten beim Einrichten der Netzwerkkonfiguration mit GitHub verwendest.

Konfigurieren eines VNet-injizierten Runners für Dependabot updates in deinem Unternehmen

Nachdem du deine Azure-Ressourcen konfiguriert hast, kannst du ein virtuelles Azure-Netzwerk (VNET) für private Netzwerke verwenden. Erstelle hierzu eine Netzwerkkonfiguration auf Organisationsebene. Anschließend kannst du diese Netzwerkkonfiguration Runnergruppen zuordnen.

  1. Füge eine neue Netzwerkkonfiguration für dein Unternehmen hinzu. Weitere Informationen findest du unter Hinzufügen einer neuen Netzwerkkonfiguration für dein Unternehmen.
  2. Erstelle eine Runnergruppe für das Unternehmen, und wähle die Organisationen aus, für die du Dependabot updates ausführen möchtest. Weitere Informationen findest du unter Erstellen einer Runnergruppe für dein Unternehmen.
  3. Erstelle einen Runner, der auf GitHub gehostet wird, und füge ihn der Runnergruppe deines Unternehmens hinzu. Weitere Informationen findest du unter Hinzufügen eines größeren Runners zu einem Unternehmen. Wichtige Punkte:
    • Der Runnername muss dependabot lauten.

    • Wähle eine Linux-x64-Plattform aus.

    • Wähle die geeignete Ubuntu-Version aus.

    • Wähle die Runnergruppe aus, die du im vorherigen Schritt erstellt hast, wenn du deine Runner, die auf GitHub gehostet werden, einer Runnergruppe hinzufügst.

    Hinweis

    Durch die Benennung des Runners, der auf GitHub gehostet wird, in dependabot wird diesem die Bezeichnung dependabot zugewiesen, die es dem Runner ermöglicht, Aufträge abzurufen, die von Dependabot für Aktionen ausgelöst werden.

Aktivieren von Dependabot für die Organisation

Du musst Dependabot jetzt für selbstgehostete Runnern für deine Organisation aktivieren, um Dependabot für große Runner zu aktivieren. Weitere Informationen findest du unter Aktivieren oder Deaktivieren von Dependabot für größere Runner.

  1. Wähle in der rechten oberen Ecke auf GitHub dein Profilfoto aus, und klicke dann auf Your organizations.

  2. Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot der Registerkarten im Profil einer Organisation. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Wähle im Abschnitt „Security“ der Randleiste das Dropdownmenü Advanced Security aus, und klicke auf Global settings.

  4. Wähle unter Dependabot die Option Dependabot on self-hosted runners aus. Dieser Schritt ist erforderlich, damit zukünftige Dependabot-Aufträge auf dem größeren Runner mit dem Namen dependabot ausgeführt werden, der auf GitHub gehostet wird.

Auslösen einer Dependabot-Ausführung

Nachdem du nun mit VNet ein privates Netzwerk eingerichtet hast, kannst du eine Dependabot-Ausführung starten.

  1. Navigieren Sie auf GitHub zur Hauptseite des Repositorys.

  2. Klicke unter dem Repositorynamen auf die Registerkarte Insights.

  3. Klicke auf der linken Randleiste auf Abhängigkeitsdiagramm.

    Screenshot der Registerkarte Abhängigkeitsdiagramm. Die Registerkarte ist mit einer orangefarbenen Kontur hervorgehoben.

  4. Klicke unter „Abhängigkeitsdiagramm“ auf Dependabot .

  5. Klicke rechts neben dem Namen der relevanten Manifestdatei auf Recent update jobs.

  6. Wenn keine kürzlichen Aktualisierungsaufträge für die Manifestdatei vorhanden sind, klicke auf Check for updates, um einen Dependabot-Versionsupdateauftrag erneut auszuführen und nach neuen Updates für Abhängigkeiten für dieses Ökosystem zu suchen.

Überprüfen von Protokollen und aktiven Aufträgen für Dependabot updates

  • Auf der Registerkarte Actions deines Repositorys kannst du die Protokolle des Dependabot-Workflows anzeigen. Wähle auf der linken Randleiste der Seite „Actions“ den Dependabot-Auftrag aus.

    Beispiel eines Protokolls für den Workflow „Dependabot in vnet“. Der Dependabot-Auftrag ist orange umrandet.

  • Auf der Seite mit den Informationen zum Runner kannst du die aktiven Aufträge anzeigen. Klicke auf die Registerkarte Policies für das Unternehmen, wähle auf der linken Randleiste die Option Actions aus, klicke auf die Registerkarte Runner group, und wähle deinen Runner aus, um auf diese Seite zuzugreifen.

    Screenshot: Aktive Aufträge eines Dependabot-Runners

Konfigurieren von der IP-Regeln für die VNet-Firewall in Azure

Wenn deine VNet-Umgebung in Azure mit einer Firewall mit einer Liste zugelassener IP-Adressen konfiguriert ist, musst du deine Liste der zugelassenen IP-Adressen möglicherweise aktualisieren, damit die IP-Adressen der Runner vom Meta-API-Endpunkt verwendet werden, die auf GitHub gehostet werden.

  • GitHub stellt den folgenden öffentlichen Endpunkt für IP-Bereiche bereit:

    GET https://api.github.com/meta

  • Kopiere den folgenden cURL-Befehl, und füge diesen im Terminal oder in der Eingabeaufforderung ein. Ersetze anschließend den Platzhalterwert für das Bearertoken durch den tatsächlichen Wert.

    Bash
          curl -L \
          -H "Accept: application/vnd.github+json" \
          -H "Authorization: Bearer YOUR-TOKEN" \
          -H "X-GitHub-Api-Version: 2022-11-28" \
          https://api.github.com/meta
    
  • Suche in der Antwort nach dem Actions-Schlüssel.

        "actions": [ ... ]
    

    Hierbei handelt es sich um die IP-Bereiche, die von GitHub Actions-Runnern verwendet werden, einschließlich Dependabot und gehosteten Läufern.

  • Füge deiner Liste zugelassener IP-Adressen diese IPs hinzu.