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 namenssynced-actionssynchronisiert 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
actionsauf Ihre GitHub Enterprise Server-Instance synchronisieren möchten, müssen Sie Eigentümer der Organisationactionssein.Hinweis
Standardmäßig sind nicht einmal Site-Administratoren Besitzer der gebündelten
actions-Organisation.Site-Administratoren können den Befehl
ghe-org-admin-promotein der Verwaltungsshell verwenden, um einen Benutzer zum Besitzer der gebündelten Organisationactionszu 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.
-
Lade das neueste
actions-sync-Release für das Betriebssystem deines Computers herunter, und extrahiere es. -
Erstelle ein Verzeichnis zum Speichern von Cachedateien für das Tool.
-
Wechsle in deinem Terminal zum Verzeichnis
bininnerhalb des soeben extrahierten Releaseverzeichnisses. Zum Beispiel:cd PATH/TO/gh_DATETIME_OS_ARCHITECTURE/bin -
Führen Sie den Befehl
actions-sync syncaus:./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 Formatowner/repository:destination_owner/destination_repositoryan.- Im obigen Beispiel wird das Repository
actions/stalemit dem Repositorysynced-actions/actions-stalein der Zielunternehmensinstanz synchronisiert. Du musst die Organisation namenssynced-actionsin deinem Unternehmen erstellen, bevor du den obigen Befehl ausführst. - Wenn du
:destination_owner/destination_repositoryweglä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-namedurch--repo-name-listoder--repo-name-list-fileersetzt. Weitere Informationen finden Sie in der README-Dateiactions-sync.
- Im obigen Beispiel wird das Repository
-
-
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@v1Weitere Informationen findest du unter Workflowsyntax für GitHub Actions.