Skip to main content

Manuelles Synchronisieren von Aktionen über .com

Für Benutzer*innen, die Zugriff auf Aktionen von .com benötigen, kannst du bestimmte Aktionen in deinem Unternehmen synchronisieren.

Hinweis

Auf gehostete Runner werden aktuell nicht auf Enterprise Server unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der public roadmap.

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

Es wird empfohlen, den automatischen Zugriff auf öffentliche Aktionen mithilfe von Connect zu aktivieren, um Enterprise Server mit Enterprise Cloud zu integrieren. Weitere Informationen findest du unter Aktivieren des automatischen Zugriffs auf .com-Aktionen mit Connect.

Wenn du jedoch eine strengere Kontrolle darüber haben möchtest, welche Aktionen in deinem Unternehmen zulässig sind, kannst du diesen Leitfaden befolgen, um unser Open-Source-Tool actions-sync zum Synchronisieren einzelner Aktionsrepositorys von .com mit deinem Unternehmen zu verwenden.

Beim Upgraden von Enterprise Server werden 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 solltest du beim Aktualisieren von Aktionen mit actions-sync nach einem Enterprise Server-Upgrade (Haupt- oder Nebenversion) actions-sync stets erneut ausführen, damit die Aktionen auf dem neuesten Stand bleiben.

Informationen zum actions-sync-Tool

Das actions-sync-Tool muss auf einem Computer ausgeführt werden, von dem auf die .com-API sowie auf die API deiner Enterprise Server-Instanz zugegriffen werden kann. Der Computer muss nicht gleichzeitig mit beiden APIs 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.

Mit dem actions-sync-Tool können nur Aktionen von .com heruntergeladen werden, die in öffentlichen Repositorys gespeichert sind.

Hinweis

Das actions-sync-Tool ist für die Verwendung in Systemen vorgesehen, in denen Connect nicht aktiviert ist. Wenn du das Tool auf einem System ausführst, auf dem Connect aktiviert ist, wird möglicherweise der Fehler The repository <repo_name> has been retired and cannot be reused angezeigt. Dies deutet darauf hin, dass ein Workflow die Aktion direkt auf .com verwendet hat und der Namespace auf Ihre Enterprise Server-Instance deaktiviert ist. Weitere Informationen findest du unter Aktivieren des automatischen Zugriffs auf .com-Aktionen mit 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.

  • Du musst ein persönliches Zugriffstoken personal access token für dein Unternehmen erstellen, mit dem das Erstellen und Schreiben in Repositorys in den Zielorganisationen möglich ist. Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken.

  • Wenn du die gebündelten Aktionen in der Organisation actions in Ihre Enterprise Server-Instance synchronisieren möchtest, musst du Besitzer der Organisation actions sein.

    Hinweis

    Standardmäßig sind nicht einmal Siteadministratoren Besitzer der actions-Organisation mit den gebündelten Aktionen.

    Websiteadministratoren können den Befehl ghe-org-admin-promote in der Verwaltungsshell verwenden, um einen Benutzer zum Besitzer der Organisation actions mit den gebündelten Aktionen hochzustufen. Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen und Befehlszeilenprogramme.

    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 von .com mit einer Unternehmensinstanz veranschaulicht.

Hinweis

In diesem Beispiel wird der Befehl actions-sync sync verwendet, der gleichzeitigen Zugriff auf die .com-API und die API deiner Unternehmensinstanz von deinem Computer 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 INFODATEI von actions-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: Ein personal access token für die Zielunternehmensinstanz.

    • --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 INFODATEI von actions-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:

    uses: synced-actions/actions-stale@v1
    

    Weitere Informationen findest du unter Workflowsyntax für Actions.