Skip to main content

Manuelles Synchronisieren von Aktionen aus GitHub.com

Wenn Benutzer Zugriff auf Aktionen von GitHub.com benötigen, können Sie bestimmte Aktionen für Ihr Unternehmen synchronisieren.

Hinweis

Auf GitHub Enterprise Server gehostete Runner werden aktuell nicht auf GitHub unterstützt.

GitHub Actions auf GitHub Enterprise Server sind für die Arbeit in Umgebungen ohne vollständigen Internetzugriff konzipiert. Standardmäßig können Workflows keine Aktionen aus GitHub.com und GitHub Marketplace verwenden.

Wir empfehlen, den automatischen Zugriff auf öffentliche Aktionen zu aktivieren, indem Sie GitHub Connect verwenden, um GitHub Enterprise Server in GitHub Enterprise Cloud zu integrieren. Weitere Informationen findest du unter Aktivieren des automatischen Zugriffs auf GitHub.com Aktionen mithilfe von GitHub Connect.

Wenn Sie eine strengere Kontrolle darüber wünschen, welche Aktionen in Ihrem Unternehmen zulässig sind, können Sie diesen Leitfaden befolgen, um unser Open Source actions-sync Tool zum Synchronisieren einzelner Aktionsrepositorys mit GitHub.com Ihrem Unternehmen zu verwenden.

Beim Upgrade GitHub Enterprise Serverwerden gebündelte Aktionen automatisch durch die Standardversionen im Upgradepaket ersetzt. Dabei handelt es sich unter Umständen nicht um die neueste verfügbare Version. Als bewährte Methode sollten Sie, wenn Sie actions-sync zum Aktualisieren von Aktionen verwenden, actions-sync nach jedem Upgrade von GitHub Enterprise Server (Haupt- oder Nebenversion) immer erneut ausführen, um sicherzustellen, dass die Aktionen auf dem neuesten Stand bleiben.

Informationen zum actions-sync-Tool

Das actions-sync Tool muss auf einem Computer ausgeführt werden, der auf die GitHub.com API und die API Ihrer GitHub Enterprise Server Instanz zugreifen kann. Die Maschine muss nicht gleichzeitig mit beiden verbunden sein.

Wenn mit dem Computer auf beide Systeme gleichzeitig zugegriffen werden kann, kannst du die Synchronisierung mit einem einzelnen actions-sync sync-Befehl ausführen. Wenn du jeweils nur auf ein System zugreifen kannst, kannst du die Befehle actions-sync pull und push verwenden.

Das actions-sync Werkzeug kann nur Aktionen aus GitHub.com herunterladen, die in öffentlichen Repositories gespeichert sind.

Hinweis

Das actions-sync Werkzeug ist zur Verwendung in Systemen vorgesehen, in denen GitHub Connect nicht aktiviert ist. Wenn Sie das Tool auf einem System mit aktiviertem GitHub Connect ausführen, kann der Fehler The repository <repo_name> has been retired and cannot be reused angezeigt werden. Dies gibt an, dass ein Workflow diese Aktion direkt für GitHub.com verwendet hat und der Namespace am Ihre GitHub Enterprise Server-Instance außer Betrieb genommen wird. Weitere Informationen findest du unter Aktivieren des automatischen Zugriffs auf GitHub.com Aktionen mithilfe von GitHub Connect.

Voraussetzungen

  • Bevor du das actions-sync-Tool verwendest, musst du dich vergewissern, dass alle Zielorganisationen bereits in deinem Unternehmen vorhanden bist. Im folgenden Beispiel wird veranschaulicht, wie Aktionen mit einer Organisation namens synced-actions synchronisiert werden. Weitere Informationen findest du unter Eine neue Organisation von Grund auf erstellen.

  • Sie müssen in Ihrem Unternehmen ein personal access token erstellen, das Repositorys in den Zielorganisationen erstellen und in sie schreiben kann. Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken.

  • Wenn Sie die gebündelten Aktionen in der Organisation actions auf Ihre GitHub Enterprise Server-Instance synchronisieren möchten, müssen Sie Eigentümer der Organisation actions sein.

    Hinweis

    Standardmäßig sind nicht einmal Site-Administratoren Besitzer der gebündelten actions-Organisation.

    Site-Administratoren können den Befehl ghe-org-admin-promote in der Verwaltungsshell verwenden, um einen Benutzer zum Besitzer der gebündelten Organisation actions zu befördern. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen und Befehlszeilenwerkzeuge.

    ghe-org-admin-promote -u USERNAME -o actions
    

Beispiel: Verwenden des actions-sync-Tools

In diesem Beispiel wird die Verwendung des actions-sync Tools zum Synchronisieren einer einzelnen Aktion mit GitHub.com einer Unternehmensinstanz veranschaulicht.

Hinweis

In diesem Beispiel wird der actions-sync sync Befehl verwendet, der gleichzeitigen Zugriff auf die GitHub.com API und die API Ihrer Unternehmensinstanz von Ihrem Computer aus erfordert. Wenn du jeweils nur auf ein System zugreifen kannst, kannst du die Befehle actions-sync pull und push verwenden. Weitere Informationen finden Sie in der README-Dateiactions-sync.

  1. Lade das neueste actions-sync-Release für das Betriebssystem deines Computers herunter, und extrahiere es.

  2. Erstelle ein Verzeichnis zum Speichern von Cachedateien für das Tool.

  3. Wechsle in deinem Terminal zum Verzeichnis bin innerhalb des soeben extrahierten Releaseverzeichnisses. Zum Beispiel:

    cd PATH/TO/gh_DATETIME_OS_ARCHITECTURE/bin
    
  4. Führen Sie den Befehl actions-sync sync aus:

    ./actions-sync sync \
      --cache-dir "cache" \
      --destination-token "aabbccddeeffgg" \
      --destination-url "https://my-ghes-instance" \
      --repo-name "actions/stale:synced-actions/actions-stale"
    

    Im obigen Befehl werden die folgenden Argumente verwendet:

    • --cache-dir: Das Cacheverzeichnis auf dem Computer, auf dem der Befehl ausgeführt wird.

    • --destination-token: A personal access token für die Ziel-Enterprise-Instanz.

    • --destination-url: Die URL der Zielunternehmensinstanz.

    • --repo-name: Das Aktionsrepository, das synchronisiert werden soll. Dieses nimmt das Format owner/repository:destination_owner/destination_repository an.

      • Im obigen Beispiel wird das Repository actions/stale mit dem Repository synced-actions/actions-stale in der Zielunternehmensinstanz synchronisiert. Du musst die Organisation namens synced-actions in deinem Unternehmen erstellen, bevor du den obigen Befehl ausführst.
      • Wenn du :destination_owner/destination_repository weglässt, wird vom Tool der ursprüngliche Besitzer- und Repositoryname für dein Unternehmen verwendet. Bevor du den Befehl ausführst, musst du eine neue Organisation in deinem Unternehmen erstellen, die dem Besitzernamen der Aktion entspricht. Verwende am besten eine zentrale Organisation, um die synchronisierten Aktionen in deinem Unternehmen zu speichern, da dies bedeutet, dass du nicht mehrere neue Organisationen erstellen musst, wenn du Aktionen von verschiedenen Besitzern synchronisierst.
      • Du kannst mehrere Aktionen synchronisieren, indem du den Parameter --repo-name durch --repo-name-list oder --repo-name-list-file ersetzt. Weitere Informationen finden Sie in der README-Dateiactions-sync.
  5. Nachdem das Aktionsrepository in deinem Unternehmen erstellt wurde, können Personen in deinem Unternehmen das Zielrepository verwenden, um in ihren Workflows auf die Aktion zu verweisen. Für die oben gezeigte Beispielaktion:

    # Dieser Workflow verwendet Aktionen, die nicht von GitHub zertifiziert sind.
    # Sie werden von einem Drittanbieter bereitgestellt und unterliegen
    # separaten Nutzungsbedingungen, Datenschutzbestimmungen und Support
    # Onlinedokumentation.
    uses: synced-actions/actions-stale@v1
    

    Weitere Informationen findest du unter Workflowsyntax für GitHub Actions.