Skip to main content

Manuelles Synchronisieren von Aktionen aus GitHub.com

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

Github-gehostete Runner für Unternehmen

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.

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

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 tool Open Source actions-sync zu verwenden, um einzelne Aktionsrepositorys aus GitHub.com mit Ihrem Unternehmen zu synchronisieren.

Beim Upgraden von GitHub 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 nach einem GitHub Enterprise Server-Upgrade (Haupt- oder Nebenversion) stets die Aktionen mit erneut ausführen, um sicherzustellen, dass sie auf dem neuesten Stand bleiben.

Informationen zum -Tool

Das -Tool muss auf einem Computer ausgeführt werden, von dem auf die GitHub.com-API sowie auf die API deiner GitHub Enterprise Server-Instanz zugegriffen werden 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 -Befehl ausführen. Wenn du jeweils nur auf ein System zugreifen kannst, kannst du die Befehle und verwenden.

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

Hinweis

Das -Tool ist für die Verwendung in Systemen vorgesehen, in denen GitHub Connect nicht aktiviert ist. Wenn du das Tool auf einem System ausführst, auf dem GitHub Connect aktiviert ist, wird möglicherweise der Fehler angezeigt. Dies deutet darauf hin, dass ein Workflow die Aktion direkt auf GitHub.com verwendet hat und der Namespace auf Ihre GitHub Enterprise Server-Instance deaktiviert ist. Weitere Informationen findest du unter AUTOTITLE.

Voraussetzungen

  • Bevor du das -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 [Name] synchronisiert werden. Weitere Informationen findest du unter AUTOTITLE.

  • 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 AUTOTITLE.

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

    Hinweis

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

    Site-Administratoren können den Befehl in der administrativen Shell verwenden, um einen Benutzer zum Besitzer der gebündelten Organisation zu befördern. Informationen findest du unter AUTOTITLE und AUTOTITLE.

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

Beispiel: Verwenden des Tools

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

Hinweis

In diesem Beispiel wird der Befehl verwendet, der gleichzeitigen Zugriff auf die GitHub.com-API und die API deiner Unternehmensinstanz von deinem Computer erfordert. Wenn du jeweils nur auf ein System zugreifen kannst, kannst du die Befehle und verwenden. Weitere Informationen finden Sie in der README.

  1. Lade das neueste -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 innerhalb des soeben extrahierten Releaseverzeichnisses. Zum Beispiel:

    cd PATH/TO/gh_DATETIME_OS_ARCHITECTURE/bin
    
  4. Führen Sie den Befehl 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:

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

    • : Ein personal access token für die Zielunternehmensinstanz.

    • : Die URL der Zielunternehmensinstanz.

    • Das Aktionsrepository zum Synchronisieren. Dies folgt dem Format <>.

      • Im obigen Beispiel wird das Repository mit dem Repository in der Zielunternehmensinstanz synchronisiert. Du musst die Organisation namens in deinem Unternehmen erstellen, bevor du den obigen Befehl ausführst.
      • Wenn du es weglässt, verwendet das Tool den Original-Besitzername und Repositorynamen für dein Unternehmen. 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 durch oder ersetzt. Weitere Informationen finden Sie in der README-Datei.
  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 AUTOTITLE.