Informationen zum Entwickeln von GitHub Apps für GitHub Enterprise Server
Wenn Ihr GitHub App Organisationen in einer GitHub Enterprise Server-Instanz, zu der Sie nicht gehören, zur Verfügung stehen soll, müssen Sie die folgenden Schritte ausführen.
Wenn GitHub Enterprise Server wichtig ist, überlegen Sie, ob stattdessen eine benutzerdefinierte Aktion für GitHub Actions geeignet ist. Öffentliche Aktionen sind für GitHub Enterprise Server-Instanzen mit GitHub Connect verfügbar. Weitere Informationen finden Sie unter Aktivieren des automatischen Zugriffs auf GitHub.com Aktionen mithilfe von GitHub Connect in der GitHub Enterprise Server Dokumentation.
Jede GitHub Enterprise Server Instanz muss eine eigene Registrierung durchführen. GitHub App
Organisationen, die einer GitHub Enterprise Server-Instanz gehören, können keine GitHub Apps installieren, die auf GitHub.com oder auf einer anderen GitHub Enterprise Server-Instanz registriert sind. Stattdessen müssen sie ihre eigene GitHub App registrieren und installieren, zur Verwendung in dieser Instanz.
-
Der App-Entwickler bzw. die App-Entwicklerin erstellt ein Manifest oder URL-Parameter. Weitere Informationen findest du unter Registrieren einer GitHub App aus einem Manifest und Registrieren einer GitHub App mit URL-Parametern.
-
Der App-Entwickler teilt die Manifest- oder URL-Parameter mit dem GitHub Enterprise Server Administrator, der die App verwenden möchte. Die gleichen Manifest- oder URL-Parameter können für mehrere GitHub Enterprise Server Instanzen freigegeben werden.
-
Ein Organisationsbesitzer in der Instanz verwendet die Manifest- oder URL-Parameter zum Registrieren eines GitHub App.
-
Die Organisation installiert die GitHub App Komponente, die sie registriert hat.
Optional können andere Organisationen innerhalb der Instanz das GitHub App ebenfalls installieren, wenn die Organisation das GitHub App öffentlich gemacht hat. Es gibt keine Möglichkeit, eine GitHub App für eine gesamte Instanz zu installieren, sondern nur für Organisationen innerhalb einer Instanz.
Der App-Code muss auf die GitHub App Anmeldeinformationen für die Instanz zugreifen können.
Der Code Ihrer App benötigt die Anmeldeinformationen der GitHub AppGitHub Enterprise Server registrierten Instanz. Außerdem wird der Hostname der Instanz benötigt. Sie haben zwei Optionen: die Anmeldeinformationen und den Hostnamen aus der Instanz abzurufen oder den GitHub Enterprise Server Kunden eine selbst zu hostende Version der App hosten und verwalten zu lassen.
Abrufen der Anmeldeinformationen aus der GitHub Enterprise Server Instanz
Die Instanz kann ihre GitHub App Anmeldeinformationen und den Hostnamen für den App-Entwickler freigeben. Websiteadministrator*innen sollten dies nur tun, wenn sie dem App-Entwickler bzw. der App-Entwicklerin vertrauen. Anschließend kann der App-Code die entsprechenden Anmeldeinformationen abhängig von den ausgeführten Aktionen verwenden. Der App-Entwickler bzw. die App-Entwicklerin muss Vorkehrungen treffen, um die entsprechenden Anmeldeinformationen zu verwenden und Datenlecks zu vermeiden.
Vorteile:
- Der App-Entwickler bzw. die App-Entwicklerin steuert die Infrastruktur, in der die App ausgeführt wird.
- Der App-Entwickler bzw. die App-Entwicklerin hat mehr Kontrolle über App-Updates.
- Der App-Entwickler bzw. die App-Entwicklerin hat möglicherweise mehr Einblick in die App-Leistung.
Nachteile:
- Der App-Entwickler bzw. die App-Entwicklerin muss Vorkehrungen treffen, um Datenlecks in der Instanz zu vermeiden.
- Möglicherweise müssen Systemadministrator*innen Firewall-Ausnahmen erstellen, damit Ihre Anwendung die Instanz erreichen kann, und sie sind vielleicht nicht dazu bereit.
Bereitstellen des GitHub Enterprise Server Kundenhosts und Verwalten einer selbst hostbaren Version der App
App-Entwicklerinnen können eine selbst hostbare Version ihrer App bereitstellen. Anschließend können Websiteadministratorinnen die App gemäß den Setup- und Installationsanweisungen der App-Entwickler*innen hosten.
Die Methode, mit der die selbst hostbare Version der App erstellt und freigegeben wird, ist den App-Entwickler*innen überlassen und hängt von der Technologie ab, die von der App verwendet wird.
Vorteile:
- Die Instanz bleibt sicherer, weil sie ihre App-Anmeldeinformationen nicht teilen.
- Der App-Entwickler bzw. die App-Entwicklerin muss sich keine Sorgen über Datenlecks in der Instanz machen.
Nachteile:
- App-Entwicklerinnen sind darauf angewiesen, dass Websiteadministratorinnen die Infrastruktur für die App bereitstellen und alles richtig einrichten.
- Das Freigeben von Updates für den App-Code ist möglicherweise komplexer.
- Der App-Entwickler bzw. die App-Entwicklerin hat möglicherweise keinen Einblick mehr in die App-Leistung.
Der App-Code muss die richtigen URLs verwenden.
GitHub Enterprise Server verwendet verschiedene URLs als GitHub Free, GitHub Pro, , GitHub Teamund GitHub Enterprise Cloud. Sie sollten den App-Code aktualisieren, um die entsprechende URL zu verwenden, je nachdem, ob er mit einer GitHub Enterprise Server Instanz arbeitet. Ersetzen Sie HOSTNAME durch den Hostnamen der GitHub Enterprise Server-Instanz.
| GitHub Free GitHub Pro GitHub Team GitHub Enterprise Cloud | GitHub Enterprise Server |
|---|---|
https:/ | https:/ |
https:/ | https:/ |
https:/ | https:/ |
https:/ | https:/ |
Der App-Code muss die Featureunterschiede kennen.
Neue REST-API-Endpunkte, GraphQL-Objekte und Webhooks werden zu einem späteren Zeitpunkt für GitHub Enterprise Server veröffentlicht als für GitHub Free, GitHub Pro, GitHub Team und GitHub Enterprise Cloud. Darüber hinaus gibt es mehrere Versionen von GitHub Enterprise Server, und ältere Versionen verfügen möglicherweise über unterschiedliche REST-API-Endpunkte, GraphQL-Objekte und Webhooks.
Daher muss der App-Code diese Unterschiede kennen. API-Antworten und Webhook-Nutzlasten enthalten einen x-github-enterprise-version Header für GitHub Enterprise Server Nutzlasten, um zu bestimmen, welche Version Sie behandeln.
Jede GitHub Enterprise Server Instanz kann Geschwindigkeitsbeschränkungen konfigurieren.
Jede GitHub Enterprise Server Instanz kann ihre eigenen Ratengrenzwerte konfigurieren. Wenn Ihre App auf ein Zinslimit trifft und bereits Vorkehrungen trifft, um unter dem Satzlimit zu bleiben, sollten Sie mit dem Administrator der GitHub Enterprise Server Instanz sprechen.