Skip to main content

Enterprise Server 3.15 ist derzeit als Release Candidate verfügbar.

Befehlszeilenprogramme

GitHub Enterprise Server enthält eine Vielzahl von Dienstprogrammen, mit denen bestimmte Probleme behoben oder bestimmte Aufgaben ausgeführt werden können.

Du kannst diese Befehle überall in der VM ausführen, nachdem du dich als ein SSH-Administratorbenutzer angemeldet hast. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

Allgemein

ghe-announce

Dieses Dienstprogramm liegt im oberen Bereich jeder GitHub Enterprise-Seite einen Banner fest. Diesen kannst du verwenden, um deinen Benutzer eine Mitteilung zu übermitteln.

# Sets a message that's visible to everyone
$ ghe-announce -s MESSAGE
> Announcement message set.
# Removes a previously set message
$ ghe-announce -u
> Removed the announcement message

Verwende das -d-Flag, um es jedem bzw. jeder Benutzer*in zu ermöglichen, die Ankündigung selbst zu schließen.

# Sets a user-dismissible message that's visible to everyone
$ ghe-announce -d -s MESSAGE
> Announcement message set.
# Removes a previously set message
$ ghe-announce -u
> Removed the announcement message, which was user
> dismissible: MESSAGE

Du kannst außerdem mithilfe der Unternehmenseinstellungen in GitHub Enterprise Server ein Ankündigungsbanner festlegen. Weitere Informationen findest du unter Anpassen von Benutzernachrichten für dein Unternehmen.

ghe-aqueduct

Dieses Dienstprogramm zeigt Informationen zu aktiven und zu in der Warteschlange befindlichen Hintergrundaufträgen an. Es zeigt dieselben Auftragszählnummern wie die Leiste mit den Administratorstatistiken im oberen Bereich jeder Seite an.

Mit diesem Dienstprogramm kann ermittelt werden, ob der Aqueduct-Server beim Verarbeiten von Hintergrundaufträgen Probleme hat. Eines der folgenden Szenarien kann auf ein Problem mit Aqueduct hinweisen:

  • Die Anzahl der Hintergrundaufträge wird erhöht, während die aktiven Aufträge identisch bleiben.
  • Die Ereignis-Feeds werden nicht aktualisiert.
  • Webhooks werden nicht ausgelöst.
  • Die Weboberfläche wird nach einem Git-Push nicht aktualisiert.

Wenn Sie vermuten, dass Aqueduct fehlerhaft ist, wenden Sie sich für Unterstützung an GitHub Enterprise Support.

Mit diesem Befehl kannst du Aufträge in der Warteschlange zudem anhalten oder fortsetzen.

$ ghe-aqueduct status
# lists queues and the number of currently queued jobs
# for all queues
$ ghe-aqueduct queue_depth --queue QUEUE
# lists the number of currently queued jobs for the
# specified queue
$ ghe-aqueduct pause --queue QUEUE
# pauses the specified queue
$ ghe-aqueduct resume --queue QUEUE
# resumes the specified queue

ghe-check-disk-usage

Dieses Dienstprogramm überprüft den Datenträger auf große Dateien oder auf gelöschte Dateien mit weiterhin vorhandenen offenen Datei-Handles. Du solltest dieses ausführen, wenn du versuchst, auf der Root-Partition Speicherplatz freizugeben.

ghe-check-disk-usage

ghe-cleanup-caches

Dieses Dienstprogramm bereinigt eine Vielzahl von Caches auf dem Root-Volume, die potenziell zusätzlichen Speicherplatz beanspruchen. Wenn du feststellst, dass sich deine Root-Volume-Speicherplatzauslastung mit der Zeit merklich erhöht, empfiehlt es sich, dieses Dienstprogramm auszuführen, um nachzuvollziehen, ob es die Gesamtnutzung reduzieren kann.

ghe-cleanup-caches

ghe-cleanup-settings

Dieses Dienstprogramm löscht alle vorhandenen Verwaltungskonsole-Einstellungen.

Tipp: Dies führst du in der Regel nur dann aus, wenn du den Support kontaktiert hast und vom Support dazu aufgefordert wurdest.

ghe-cleanup-settings

ghe-config

Mit diesem Hilfsprogramm kannst du die Konfigurationseinstellungen von Ihre GitHub Enterprise Server-Instance abrufen und ändern.

$ ghe-config core.github-hostname
# Gets the configuration value of `core.github-hostname`
$ ghe-config core.github-hostname URL
# Sets the configuration value of `core.github-hostname`
# to the specified URL
$ ghe-config -l
# Lists all the configuration values

Ermöglicht es dir, den universellen eindeutigen Bezeichner (UUID) deines Knotens in cluster.conf zu finden.

  ghe-config HOSTNAME.uuid

Ermöglicht es dir, eine Liste mit Benutzern von REST-API-Ratenbegrenzungen auszuschließen. Für diese Benutzer gilt weiterhin eine harte Grenze von 120.000 Anforderungen. Bei Benutzernamen, die für diesen Befehl angeben werden, wird die Groß- und Kleinschreibung beachtet. Weitere Informationen findest du unter Ratenbegrenzungen für die REST-API.

$ ghe-config app.github.rate-limiting-exempt-users "hubot github-actions[bot]"
# Exempts the users hubot and github-actions[bot] from rate limits.
# Usernames are case-sensitive.

ghe-config-apply

Dieses Dienstprogramm wendet Verwaltungskonsole-Einstellungen an, lädt Systemdienste neu, bereitet ein Speichergerät vor, lädt Anwendungsdienste neu und führt ausstehende Datenbankmigrationen aus. Es entspricht dem Klicken auf Einstellungen speichernin der Web-Benutzeroberfläche von Verwaltungskonsole oder dem Senden einer POST-Anforderung an den /setup/api/configure-Endpunkt.

Du musst dies wahrscheinlich niemals manuell ausführen. Es ist jedoch verfügbar, wenn du den Prozess zum Speichern deiner Einstellungen über die SSH automatisieren möchtest.

ghe-config-apply

ghe-console

Dieses Dienstprogramm öffnet die GitHub Rails-Konsole auf deiner GitHub Enterprise-Appliance. Verwende diesen Befehl nicht ohne Anweisung vom GitHub Enterprise Support. Eine falsche Verwendung kann zu Schäden oder Datenverlust führen.

ghe-console

ghe-dbconsole

Dieses Dienstprogramm öffnet eine MySQL-Datenbanksitzung auf deiner GitHub Enterprise-Appliance. Verwende diesen Befehl nicht ohne Anweisung vom GitHub Enterprise Support. Eine falsche Verwendung kann zu Schäden oder Datenverlust führen.

ghe-dbconsole

ghe-es-index-status

Dieses Dienstprogramm gibt eine Zusammenfassung der ElasticSearch-Indizes im CSV-Format zurück.

Drucken einer Indexzusammenfassung mit einer Header-Kopfzeile für STDOUT:

$ ghe-es-index-status -do
> warning: parser/current is loading parser/ruby23, which recognizes
> warning: 2.3.3-compliant syntax, but you are running 2.3.4.
> warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
> Name,Primary,Searchable,Writable,UpToDate,RepairProgress,Version
> code-search-1,true,true,true,true,100.0,72e27df7c631b45e026b42bfef059328fa040e17
> commits-5,true,true,true,true,100.0,7ed28813100c47813ef654c0ee2bb9abf21ab744
> gists-4,true,true,true,true,100.0,cf8e7d04fcf2564c902e2873c424a279cc41079d
> issues-4,false,false,false,true,100.0,d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> issues-5,true,true,true,true,100.0,d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> projects-2,true,true,true,true,100.0,c5cac1c4b3c66d42e609d088d174dbc3dd44469a
> pull-requests-6,true,true,true,true,100.0,6a466ad6b896a3499509990979bf9a18d7d41de3
> repos-6,true,true,true,true,100.0,6c8b5fbba0fc1e409558db411d05e092c1387082
> users-5,true,true,true,true,100.0,38984875552bb826c9ec42999f409cb2e95556eb
> wikis-4,true,true,true,true,100.0,2613dec44bd14e14577803ac1f9e4b7e07a7c234

Drucken einer Indexzusammenfassung und von Pipe-Ergebnissen zur besseren Lesbarkeit für column:

$ ghe-es-index-status -do | column -ts,
> warning: parser/current is loading parser/ruby23, which recognizes
> warning: 2.3.3-compliant syntax, but you are running 2.3.4.
> warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
> Name             Primary  Searchable  Writable  UpToDate  RepairProgress  Version
> code-search-1    true     true        true      true      100.0           72e27df7c631b45e026b42bfef059328fa040e17
> commits-5        true     true        true      true      100.0           7ed28813100c47813ef654c0ee2bb9abf21ab744
> gists-4          true     true        true      true      100.0           cf8e7d04fcf2564c902e2873c424a279cc41079d
> issues-4         false    false       false     true      100.0           d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> issues-5         true     true        true      true      100.0           d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> projects-2       true     true        true      true      100.0           c5cac1c4b3c66d42e609d088d174dbc3dd44469a
> pull-requests-6  true     true        true      true      100.0           6a466ad6b896a3499509990979bf9a18d7d41de3
> repos-6          true     true        true      true      100.0           6c8b5fbba0fc1e409558db411d05e092c1387082
> users-5          true     true        true      true      100.0           38984875552bb826c9ec42999f409cb2e95556eb
> wikis-4          true     true        true      true      100.0           2613dec44bd14e14577803ac1f9e4b7e07a7c234

ghe-legacy-github-services-report

Dieses Dienstprogramm listet Repositorys auf deiner Anwendung auf, die GitHub Services verwenden. Hierbei handelt es sich um eine Integrationsmethode, die am 1. Oktober 2018 eingestellt wurde. Benutzer auf deiner Appliance haben GitHub Services möglicherweise so eingerichtet, dass für Push-Vorgänge an bestimmte Repositorys Benachrichtigungen erstellt werden. Weitere Informationen sind unter „Ankündigung der Einstellung von GitHub-Diensten“ im the GitHub Blog zu finden. Verwende das Flag -h, um weitere Informationen zu diesem Befehl oder zusätzliche Informationen anzuzeigen.

ghe-legacy-github-services-report

ghe-logs-tail

Mit diesem Dienstprogramm kannst du das Ende aller relevanten Protokolldateien aus deiner Installation ausgeben. Du kannst Optionen übergeben, um die Protokolle auf bestimmte Sätze zu begrenzen. Verwende das Flag „-h“, um zusätzliche Optionen anzuzeigen.

ghe-logs-tail

ghe-maintenance

Mit diesem Dienstprogramm kannst du den Wartungsmoduszustand der Installation steuern. Es soll primär von der Verwaltungskonsole im Hintergrund verwendet werden, kann jedoch auch direkt verwendet werden. Weitere Informationen finden Sie unter Wartungsmodus aktivieren und planen.

ghe-maintenance -h

ghe-motd

Dieses Dienstprogramm zeigt die Meldung des Tages (MOTD) an, die Administratoren sehen, wenn sie über die administrative Shell auf die Instanz zugreifen. Die Ausgabe enthält einen Überblick über den Status der Instanz.

ghe-motd

ghe-nwo

Dieses Dienstprogramm gibt den Namen und den Inhaber eines Repositorys basierend auf der Repository-ID zurück.

ghe-nwo REPOSITORY_ID

ghe-org-admin-promote

Führe diesen Befehl aus, um Benutzern mit Websiteadministratorberechtigungen Organisationsinhaberberechtigungen auf der Appliance zu erteilen oder um beliebigen einzelnen Benutzern in einer einzelnen Organisation Organisationsinhaberberechtigungen zu erteilen. Du musst einen Benutzer bzw. eine Organisation angeben. Der Befehl ghe-org-admin-promote fragt immer nach Bestätigung, bevor er ausgeführt wird, es sei denn, du verwendest das Flag -y, um die Bestätigung zu umgehen.

Die folgenden Optionen kannst du mit dem Dienstprogramm verwenden:

  • Das Flag -u gibt einen Benutzernamen an. Verwende dieses Flag, um einem bestimmten Benutzer Organisationsinhaberberechtigungen zu erteilen. Lass das Flag -u weg, um alle Websiteadministratoren für die angegebene Organisation hochzustufen.
  • Das Flag -o gibt eine Organisation an. Verwende dieses Flag, um in einer bestimmten Organisation Inhaberberechtigungen zu erteilen. Lass das Flag -o weg, um dem angegebenen Websiteadministrator in allen Organisationen Inhaberberechtigungen zu erteilen.
  • Das Flag -a erteilt allen Websiteadministratoren in allen Organisationen Inhaberberechtigungen.
  • Das Flag -y umgeht die manuelle Bestätigung.

Mit diesem Dienstprogramm ist es nicht möglich, einen Nicht-Websiteadministrator auf einen Inhaber sämtlicher Organisationen hochzustufen. Mit ghe-user-promote kannst du ein gewöhnliches Benutzerkonto auf einen Websiteadministrator hochstufen.

Allen Websiteadministratoren in einer bestimmten Organisation Organisationsinhaberberechtigungen erteilen

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

Einem bestimmten Websiteadministrator in allen Organisationen Organisationsinhaberberechtigungen erteilen

ghe-org-admin-promote -u USERNAME

Allen Websiteadministratoren in einer bestimmten Organisation Organisationsinhaberberechtigungen erteilen

ghe-org-admin-promote -o ORGANIZATION

Allen Websiteadministratoren in allen Organisationen Organisationsinhaberberechtigungen erteilen

ghe-org-admin-promote -a

ghe-reactivate-admin-login

Verwende diesen Befehl, um die Verwaltungskonsole sofort zu entsperren nach einer Kontosperrung. Informationen zum Konfigurieren von Authentifizierungsrichtlinien für Ihre GitHub Enterprise Server-Instance findest du unter Configuring rate limits (Konfigurieren von Ratenbegrenzungen).

ghe-reactivate-admin-login

ghe-saml-mapping-csv

Mit diesem Hilfsprogramm können Administratorinnen die SAML-NameID-Zuordnungen für Benutzerinnen in einer Instanz ausgeben oder aktualisieren. Das Hilfsprogramm kann eine CSV-Datei ausgeben, die alle vorhandenen Zuordnungen auflistet. Du kannst auch Zuordnungen für Benutzer*innen in deiner Instanz aktualisieren, indem du die resultierende Datei bearbeitest und dann das Hilfsprogramm verwendest, um neue Zuordnungen aus der Datei zuzuweisen.

Führe den folgenden Befehl aus, um eine CSV-Datei mit einer Liste aller SAML-NameID-Benutzerzuordnungen für die Instanz auszugeben.

ghe-saml-mapping-csv -d

Standardmäßig schreibt das Hilfsprogramm die Datei nach /data/user/tmp.

Wenn du Zuordnungen aktualisieren möchtest, wird empfohlen, die Datei am Standardspeicherort zu belassen, damit das Hilfsprogramm auf diese zugreifen kann.

Um die Zuordnungsaktualisierung vorzubereiten, bearbeite die Datei, und nimm die gewünschten Änderungen vor. Führe einen Testlauf aus, um das Ergebnis der Zuordnungsaktualisierung mit den neuen Werten in der bearbeiteten CSV-Datei anzuzeigen. Führe den folgenden Befehl aus, und ersetze /PATH/TO/FILE durch den tatsächlichen Pfad zu der Datei, die du bearbeitet hast.

ghe-saml-mapping-csv -u -n -f /PATH/TO/FILE

Um SAML-Zuordnungen in der Instanz mit neuen Werten aus der Datei zu aktualisieren, führe den folgenden Befehl aus, und ersetze /PATH/TO/FILE durch den tatsächlichen Pfad zu der von dir bearbeiteten Datei.

ghe-saml-mapping-csv -u -f /PATH/TO/FILE

ghe-service-list

Mit diesem Dienstprogramm werden alle Dienste aufgelistet, die auf deiner Appliance gestartet oder angehalten (oder ausgeführt werden oder warten) wurden.

$ ghe-service-list
active
  - alambic
  - alive
  - aqueduct-lite
  - authzd
  - babeld
  - codeload
  - consul, process 17114
  - consul-template, process 19493
  - driftwood
  - elasticsearch
  - enterprise-manage-unicorn, process 9359
  - ghe-user-disk, process 2545
  - git-daemon
  - github-env
  - github-gitauth
  - github-resqued
  - github-stream-processors
  - github-timerd
  - github-unicorn
  - gitrpcd
  - governor
  - gpgverify
  - grafana-server, process 19314
  - graphite-web, process 20189
  - hookshot-go
  - kafka-lite
  - kredz
  - lfs-server
  - mail-replies
  - memcached
  - minio
  - mysql
  - nginx
  - nomad, process 19562
  - pages
  - postfix
  - redis
  - spokesd
  - spokes-sweeper
  - svnbridge
  - token-scanning-api
  - token-scanning-backfill-worker
  - token-scanning-hydro-consumer
  - token-scanning-incremental-worker
  - token-scanning-udp-backfill-worker
  - treelights
  - turboscan
  - viewscreen

inactive
  - wireguard

ghe-set-password

Mit diesem Hilfsprogramm können Sie ein neues Kennwort für den Administrator mit Root-Berechtigungen für die Authentifizierung bei der Verwaltungskonsole festlegen. Weitere Informationen findest du unter Verwalten des Zugriffs auf die Verwaltungskonsole.

ghe-set-password

ghe-setup-network

Mit diesem Dienstprogramm kannst du die primäre Netzwerkschnittstelle konfigurieren.

Um den visuellen Modus einzugeben, der dich durch die Konfiguration von Netzwerkeinstellungen führt:

ghe-setup-network -v

Verwende das Flag „-h“, um zusätzliche Optionen anzuzeigen.

ghe-ssh-check-host-keys

Dieses Dienstprogramm gleicht die vorhandenen SSH-Hostschlüssel mit der Liste der bekannten kompromittierten SSH-Hostschlüssel ab.

ghe-ssh-check-host-keys

Wenn ein kompromittierter Hostschlüssel gefunden wird, hat das Dienstprogramm den Status 1 und die folgende Meldung wird angezeigt:

> One or more of your SSH host keys were found in the blacklist.
> Please reset your host keys using ghe-ssh-roll-host-keys.

Wenn kein kompromittierter Hostschlüssel gefunden wird, hat das Dienstprogramm den Status 0 und die folgende Meldung wird angezeigt:

> The SSH host keys were not found in the SSH host key blacklist.
> No additional steps are needed/recommended at this time.

ghe-ssh-roll-host-keys

Dieses Dienstprogramm rotiert die SSH-Hostschlüssel und ersetzt sie durch neu generierte Schlüssel.

$ sudo ghe-ssh-roll-host-keys
Proceed with rolling SSH host keys? This will delete the
existing keys in /etc/ssh/ssh_host_* and generate new ones. [y/N]

# Press 'Y' to confirm deleting, or use the -y switch to bypass this prompt

> SSH host keys have successfully been rolled.

ghe-ssh-weak-fingerprints

Dieses Dienstprogramm gibt einen Bericht der bekannten unsicheren SSH-Schlüssel zurück, die auf der GitHub Enterprise-Appliance gespeichert sind. Optional kannst du Benutzerschlüssel in einer Massenaktion widerrufen. Das Dienstprogramm meldet schwache Systemschlüssel, die du manuell in der Verwaltungskonsole sperren musst.

# Print a report of weak user and system SSH keys
$ ghe-ssh-weak-fingerprints

# Revoke all weak user keys
$ ghe-ssh-weak-fingerprints --revoke

ghe-ssl-acme

Mit diesem Dienstprogramm kannst du ein Let's Encrypt-Zertifikat auf deiner GitHub Enterprise-Appliance installieren. Weitere Informationen findest du unter TLS konfigurieren.

Du kannst das Flag -x verwenden, um die ACME-Konfiguration zu entfernen.

ghe-ssl-acme -e

ghe-ssl-ca-certificate-install

Mit diesem Dienstprogramm kannst du ein benutzerdefiniertes CA-Root-Zertifikat auf deinem GitHub Enterprise Server erstellen. Das Zertifikat muss im PEM-Format vorliegen. Wenn dein Zertifikatsanbieter mehrere CA-Zertifikate in einer einzigen Datei bereitstellt, musst du diese in einzelne Dateien aufteilen, die du dann einzeln an ghe-ssl-ca-certificate-install übergibst.

Führe dieses Dienstprogramm aus, um eine Zertifikatskette für die S/MIME-Commit-Signaturverifizierung hinzuzufügen. Weitere Informationen findest du unter Informationen zur Verifizierung einer Commit-Signatur.

Führe dieses Dienstprogramm aus, wenn Ihre GitHub Enterprise Server-Instance keine Verbindung mit einem anderen Server herstellen kann, da Letzterer ein selbstsigniertes SSL-Zertifikat oder ein SSL-Zertifikat verwendet, wofür das erforderliche CA-Bundle nicht bereitgestellt wird. Eine Möglichkeit, dies zu überprüfen, ist die Ausführung von openssl s_client -connect host:port -verify 0 -CApath /etc/ssl/certs von Ihre GitHub Enterprise Server-Instance aus. Wenn das SSL-Zertifikat des Remote-Servers verifiziert werden kann, sollte deine SSL-Session den Rückgabecode 0 aufweisen (siehe unten).

SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES128-SHA
    Session-ID: C794EBCC3CBC10F747C9AFC029C03C1048FC99CFC34D13D7444E0F267C58DF4C
    Session-ID-ctx:
    Master-Key: 02A7C47CFD6EEC87D3C710E9DD87390E04EF82DDD7514AE03127D5DC1945FC0CAEFB5395791AEA598667EFA61B9EA8C5
    Key-Arg   : None
    Start Time: 1394581597
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

Wenn das SSL-Zertifikat des Remote-Servers dagegen nicht verifiziert werden kann, sollte deine SSL-Session einen Rückgabecode ungleich null zurückgeben:

SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES128-SHA
    Session-ID: 82CB288051A6DB66094C50A69CF1292AEE7E54C6B01B659B98AB336F8C33863E
    Session-ID-ctx:
    Master-Key: 01B025B2F764043A27919A8D1355AAECD8844FF0831B1D664042334790574A6F4025BAB085D4ED71D71AAB3091B849E5
    Key-Arg   : None
    Start Time: 1394581782
    Timeout   : 300 (sec)
    Verify return code: 27 (certificate not trusted)

Du kannst die folgenden zusätzlichen Optionen mit dem Dienstprogramm verwenden:

  • Mit dem Flag -r kannst du ein CA-Zertifikat deinstallieren.
  • Mit dem Flag -h werden weitere Nutzungsinformationen angezeigt.
ghe-ssl-ca-certificate-install -c CERTIFICATE_PATH

Führe den folgenden Befehl aus, um die Konfiguration anzuwenden. Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.

Shell
ghe-config-apply

ghe-ssl-certificate-setup

Mit diesem Hilfsprogramm kannst du ein SSL-Zertifikat für Ihre GitHub Enterprise Server-Instance aktualisieren.

Verwende das Flag -h, um weitere Informationen zu diesem Befehl oder zusätzliche Informationen anzuzeigen.

/usr/local/share/enterprise/ghe-ssl-certificate-setup

ghe-ssl-generate-csr

Mit diesem Dienstprogramm kannst du einen privaten Schlüssel und eine Zertifikatsignierungsanforderung (Certificate Signing Request, CSR) generieren, die du für eine kommerzielle oder private Zertifizierungsstelle freigeben kannst, um ein gültiges Zertifikat abzurufen, das du für deine Instanz verwenden kannst. Weitere Informationen findest du unter TLS konfigurieren.

Verwende das Flag -h, um weitere Informationen zu diesem Befehl oder zusätzliche Informationen anzuzeigen.

ghe-ssl-generate-csr

ghe-storage-extend

Einige Plattformen erfordern dieses Skript, um das Benutzer-Volume zu erweitern. Weitere Informationen findest du unter Speicherkapazität erhöhen.

ghe-storage-extend

ghe-version

Dieses Hilfsprogramm gibt die Version, Plattform und den Build von Ihre GitHub Enterprise Server-Instance aus.

ghe-version

ghe-webhook-logs

Dieses Dienstprogramm gibt Webhook-Auslieferungsprotokolle für Administratoren zurück, damit diese Issues überprüfen und ermitteln können.

ghe-webhook-logs

So zeigst du alle fehlgeschlagenen Hookübermittlungen vom Vortag an:

ghe-webhook-logs -f -a YYYY-MM-DD

Das Datumsformat sollte YYYY-MM-DD, YYYY-MM-DD HH:MM:SS oder YYYY-MM-DD HH:MM:SS (+/-) HH:M sein.

So zeigst du die vollständigen Hooknutzdaten, das Ergebnis und alle Ausnahmen für die Übermittlung an:

ghe-webhook-logs -g DELIVERY_GUID

Clustering

ghe-cluster-balance

Mit diesem Hilfsprogramm kannst du eine gleichmäßige Verteilung von Zuordnungen auf deine Clusterknoten erzwingen, indem du den Status der Zuordnungen deines Clusters überprüfst und dann problematische Zuordnungen ausgleichst. Weitere Informationen findest du unter Erneutes Ausgleichen von Clusterworkloads.

Ausgeben einer Liste ausgleichbarer Aufträge und der zugehörigen Zuordnungsverteilung:

ghe-cluster-balance status

Ausgeben von Zuordnungsanzahlen für einen bestimmten Auftrag oder eine durch Kommas getrennte Liste von Aufträgen:

ghe-cluster-balance -j JOB

Ausgleichen problematischer Zuordnungen für einen bestimmten Auftrag oder eine durch Kommas getrennte Liste von Aufträgen:

ghe-cluster-balance rebalance -j JOB

Du kannst die folgenden Flags mit ghe-cluster-balance rebalance verwenden.

FlagBeschreibung
-j/--job-namesHiermit werden die Aufträge angegeben, die ausgeglichen werden sollen. Das Flag akzeptiert einen Auftragsnamen oder eine durch Kommas getrennte Liste von Namen.
-n/--dry-runHiermit werden die nomad-Vorgänge ausgegeben, die das Hilfsprogramm ausführen wird, ohne sie tatsächlich auszuführen. Das Flag kann zusammen mit -j/--job-name verwendet werden.
-y/--yesHiermit wird die Benutzeraufforderung übersprungen.
w/--workersHiermit wird die maximale Anzahl gleichzeitiger Aufträge angegeben, die beendet werden und auf eine Neuzuordnung warten sollen. Der Standardwert ist 4.
-t/--timeoutHiermit wird angegeben, wie viele Sekunden auf eine beendete Zuordnung für einen zu ersetzenden Auftrag gewartet werden soll. Der Standardwert ist 300 Sekunden.

Ausgeben von Vervollständigungsskripts für die angegebene Shell:

ghe-cluster-balance completion

Anzeigen einer kurzen Beschreibung des Hilfsprogramms und aller gültigen Unterbefehle:

ghe-cluster-balance help

ghe-cluster-maintenance

Mit dem ghe-cluster-maintenance-Hilfsprogramm kannst du den Wartungsmodus für jeden Knoten in einem Cluster festlegen oder die Festlegung aufheben.

$ ghe-cluster-maintenance -h
# Shows options
$ ghe-cluster-maintenance -q
# Queries the current mode
$ ghe-cluster-maintenance -s
# Sets maintenance mode
$ ghe-cluster-maintenance -s "MESSAGE"
# Sets maintenance mode with a custom message
$ ghe-cluster-maintenance -m "MESSAGE"
# Updates the custom message
$ ghe-cluster-maintenance -u
# Unsets maintenance mode

ghe-cluster-repl-bootstrap

Dieses Hilfsprogramm konfiguriert die Hochverfügbarkeitsreplikation auf einen zweiten Satz von Clusterknoten. Weitere Informationen findest du unter Konfigurieren der Hochverfügbarkeitsreplikation für einen Cluster.

ghe-cluster-repl-bootstrap

ghe-cluster-repl-teardown

Dieses Hilfsprogramm deaktiviert die Replikation auf Replikatknoten für einen Cluster in einer Konfiguration mit hoher Verfügbarkeit. Weitere Informationen findest du unter Konfigurieren der Hochverfügbarkeitsreplikation für einen Cluster.

ghe-cluster-repl-teardown

ghe-cluster-status

Überprüfe die Integrität deiner Knoten und Dienste in einer Clusterbereitstellung von GitHub Enterprise Server.

ghe-cluster-status

ghe-cluster-support-bundle

Dieses Dienstprogramm erstellt eine Support-Bundle-Tarball-Datei, die wichtige Protokolle von jedem Knoten in einer Geo-Replikation oder Clustering-Konfiguration enthält.

Standardmäßig erstellt der Befehl den Tarball in /tmp, aber du kannst ihn auch nach STDOUT cat lassen, um das Streaming über SSH zu erleichtern. Dies ist nützlich, wenn die Web-Benutzeroberfläche nicht antwortet oder der Download eines Support-Bundles von /setup/support nicht funktioniert. Du musst diesen Befehl ausführen, wenn du ein erweitertes Bundle generieren möchtest, das ältere Protokolle enthält. Du kannst diesen Befehl auch ausführen, um das Cluster-Support-Bundle direkt für den GitHub Enterprise-Support hochzuladen.

Um ein Standardpaket zu erstellen:

ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -o' > cluster-support-bundle.tgz

So erstellst du ein Standardbundle, das Daten aus den letzten zwei Tagen enthält:

ssh -p 122 admin@HOSTNAME -- "ghe-cluster-support-bundle -p 2days  -o" > support-bundle.tgz

So erstellst du ein erweitertes Bundle, das Daten der letzten acht Tage enthält

ssh -p 122 admin@HOSTNAME -- ghe-cluster-support-bundle -x -o' > cluster-support-bundle.tgz

Um ein Paket an GitHub-Support zu senden:

ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -u'

Um ein Paket an GitHub-Support zu senden und das Paket mit einem Ticket zu verknüpfen:

ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -t TICKET_ID'

ghe-cluster-failover

Mit dem Hilfsprogramm ghe-cluster-failover können Sie ein Failover zum Replikatcluster ausführen. Weitere Informationen findest du unter Initiieren eines Failovers zu Ihrem Replikatcluster.

ghe-cluster-failover

ghe-dpages

Mit diesem Dienstprogramm kannst du den verteilten GitHub Pages-Server verwalten.

ghe-dpages

Um eine Zusammenfassung des Repository-Standorts und -Zustands anzuzeigen:

ghe-dpages status

Um einen GitHub Pages-Speicherdienst zu evakuieren, bevor ein Cluster-Knoten evakuiert wird:

ghe-dpages evacuate pages-server-UUID

ghe-remove-node

Dieses Hilfsprogramm entfernt einen Knoten aus einem Cluster. Wenn Sie einen Knoten ersetzen, können Sie nach dem Einrichten eines Ersatzknotens diesen Befehl verwenden, um den alten Knoten offline zu schalten. Weitere Informationen findest du unter Clusterknoten ersetzen.

Sie müssen diesen Befehl über den primären MySQL-Knoten in Ihrem Cluster ausführen, bei dem es sich in der Regel um den Knoten handelt, der als mysql-master in der Cluster-Konfigurationsdatei (cluster.conf) festgelegt ist. Sie können diesen Befehl verwenden, um einen beliebigen Knoten mit Ausnahme des mysql-master-Knotens oder redis-master-Knotens zu entfernen. Weitere Informationen findest du unter Cluster initialisieren.

ghe-remove-node HOSTNAME

Der Befehlt leistet Folgendes:

  • Evakuiert Daten von allen Datendiensten, die auf dem Knoten ausgeführt werden, sodass die verbleibenden Knoten in Ihrem Cluster Kopien der Daten enthalten
  • Kennzeichnet den Knoten in Ihrer Konfiguration als offline, wendet diese Änderung auf die restlichen Knoten im Cluster an und beendet den Datenverkehr, der an den Knoten weitergeleitet wird

Sie können den Befehl mit den folgenden Flags ausführen.

FlagBeschreibung
-ne/--no-evacuateÜberspringt die Evakuierung von Datendiensten (Warnung: kann zu Datenverlust führen).
-v/--verboseDruckt zusätzliche Informationen in der Konsole.
-h/--helpZeigt den Hilfetext für den BF-Befehl an.

Hinweise:

  • Dieser Befehl kann nur verwendet werden, um einen Knoten aus einer Clusterkonfiguration zu entfernen. Er kann nicht verwendet werden, um einen Knoten aus einer Hochverfügbarkeitskonfiguration zu entfernen.
  • Dieser Befehl unterstützt keine parallele Ausführung. Um mehrere Knoten zu entfernen, müssen Sie warten, bis dieser Befehl abgeschlossen ist, bevor Sie ihn für einen anderen Knoten ausführen.

ghe-spokesctl

Mit diesem Hilfsprogramm kannst du die Replikation von Repositorys auf den verteilten Git-Servern verwalten.

ghe-spokesctl

Anzeigen der Server, auf denen das Repository gespeichert ist:

ghe-spokesctl routes

Um Speicherdienste auf einem Cluster-Knoten zu evakuieren:

ghe-spokesctl server set evacuating git-server-UUID

ghe-storage

Mit diesem Dienstprogramm kannst du alle Speicherdienste evakuieren, bevor du einen Clusterknoten evakuierst.

ghe-storage evacuate storage-server-UUID

nes

Mit diesem Hilfsprogramm kannst du die Integrität von Clusterknoten mithilfe von Node Eligibility Service überwachen. Standardmäßig ist Node Eligibility Service deaktiviert. Weitere Informationen findest du unter Überwachen der Integrität deiner Clusterknoten mit dem Knotenberechtigungsdienst.

Anzeigen der Integrität der Clusterknoten:

nes get-cluster-health

Überprüfen der TTL-Einstellungen:

nes get-node-ttl all

Festlegen des TTL-Werts für den fail-Status in Minuten:

nes set-node-ttl fail MINUTES

Der TTL-Wert für den fail-Status muss höher sein als der TTL-Wert für den warn-Status.

Festlegen des TTL-Werts für den warn-Status in Minuten:

nes set-node-ttl warn TIME

Überprüfen, ob Node Eligibility Service administrative Aktionen ausführen kann, wenn ein Knoten mit dem Hostnamen „HOSTNAME“ offline geht:

nes get-node-adminaction HOSTNAME

Zulassen, dass Node Eligibility Service automatisch administrative Aktionen ausführen kann, wenn ein Knoten mit dem Hostnamen „HOSTNAME“ offline geht:

nes set-node-adminaction approved HOSTNAME

Widerrufen, dass Node Eligibility Service den Knoten mit dem Hostnamen „HOSTNAME“ offline schalten kann:

nes set-node-adminaction approved HOSTNAME

Manuelles Aktualisieren der Berechtigung eines Knotens zum erneuten Hinzufügen zum Cluster:

nes set-node-eligibility eligible HOSTNAME

Git

ghe-btop

Eine top-ähnliche Schnittstelle für aktuelle Git-Vorgänge.

ghe-btop [ <port number> | --help | --usage ]

ghe-governor

Dieses Dienstprogramm hilft beim Analysieren des Git-Datenverkehrs. Es fragt die Governor-Datendateien ab, die sich unter /data/user/gitmon befinden. GitHub enthält eine Stunde Daten pro Datei, die zwei Wochen lang aufbewahrt werden. Weitere Informationen findest du unter Analysieren des Git-Datenverkehrs mithilfe von Governor in GitHub Community.

ghe-governor <subcommand> <column> [options]
ghe-governor -h
Usage: ghe-governor [-h] <subcommand> args

OPTIONS:
  -h | --help        Show this message.

Valid subcommands are:
  aggregate              Find the top (n) groups of queries for a grouping function and metric
  health                 Summarize all recent activity on one or more servers
  top                    Find the top (n) queries for a given metric
  dump                   Dump individual operations
  test-quotas            Check quota information

Try ghe-governor <subcommand> --help for more information on the arguments each subcommand takes.

ghe-repo

Mit diesem Dienstprogramm kannst du das Verzeichnis eines Repositorys ändern und als der git-Benutzer eine interaktive Shell öffnen. Durch Ausführung der Befehle git-* oder git-nw-* kannst du die manuelle Untersuchung oder Wartung eines Repositorys durchführen.

ghe-repo USERNAME/REPONAME

ghe-repo-gc

Mit diesem Dienstprogramm wird ein Repository-Netzwerk neu gepackt, um den Paketspeicher zu optimieren. Wenn du über ein großes Repository verfügst, wird seine Größe durch die Ausführung dieses Befehls ggf. reduziert. GitHub Enterprise führt diesen Befehl automatisch während der gesamten Interaktion mit einem Repository-Netzwerk aus.

ghe-repo-gc USERNAME/REPONAME

Sie können das optionale Argument --prune hinzufügen, um nicht erreichbare Git-Objekte zu entfernen, auf die nicht aus einer Verzweigung, einem Tag oder durch einen anderen Verweis verwiesen wird. Dies ist besonders nützlich, um zuvor gelöschte vertrauliche Informationen sofort zu entfernen. Weitere Informationen finden Sie unter Entfernen vertraulicher Daten aus einem Repository.

Wenn Sie eine Bereitstellungstopologie mit mehreren Knoten verwenden, um zu verhindern, dass vertrauliche Daten auf anderen Knoten beibehalten und während eines Failovers potenziell verfügbar gemacht werden, müssen Sie den Befehl auf allen Knoten ausführen. Für eine Clusterkonfiguration können Sie z. B. den folgenden Befehl verwenden.

ghe-cluster-each -r git -- "ghe-repo-gc --prune USERNAME/REPONAME"

GitHub Actions

ghe-actions-check

Dieses Dienstprogramm überprüft, ob alle Dienste für GitHub Actions fehlerfrei sind. Weitere Informationen findest du unter Erste Schritte mit GitHub Actions für GitHub Enterprise Server und Behandeln von Problemen mit GitHub Actions für dein Unternehmen.

ghe-actions-check

ghe-actions-precheck

Dieses Hilfsprogramm testet die Blobspeicherkonfiguration für GitHub Actions auf Ihre GitHub Enterprise Server-Instance. Du kannst das Dienstprogramm verwenden, um deine Speicherkonfiguration zu überprüfen, bevor du GitHub Actions für deine Instanz aktivierst.

Weitere Informationen zur Konfiguration von GitHub Actions findest du unter Erste Schritte mit GitHub Actions für GitHub Enterprise Server.

Hinweis: Dieses Hilfsprogramm funktioniert nur mit Konfigurationen, die eine auf Anmeldeinfos basierte Verbindung mit dem Speicheranbieter verwenden. Verwenden Sie ghe-actions-test-storage-with-oidc, um OpenID Connect (OIDC)-Konfigurationen zu testen.

ghe-actions-precheck -p [PROVIDER] -cs ["CONNECTION-STRING"]

Wenn dein Speichersystem ordnungsgemäß konfiguriert ist, wird die folgende Ausgabe angezeigt.

All Storage tests passed

ghe-actions-test-storage-with-oidc

Dieses Hilfsprogramm überprüft, ob der Blob Storage-Anbieter für GitHub Actions unter Ihre GitHub Enterprise Server-Instance gültig ist, wenn OpenID Connect (OIDC) verwendet wird.

Hinweis: Dieses Hilfsprogramm funktioniert nur mit Konfigurationen, die eine OpenID Connect (OIDC)-Konfiguration verwenden. Um Anmeldedaten-basierte Konfigurationen zu testen, verwenden Sie ghe-actions-precheck.

ghe-actions-test-storage-with-oidc -p [PROVIDER] -cs ["CONNECTION-STRING"]

ghe-actions-stop

Dieses Hilfsprogramm beendet die Ausführung von GitHub Actions auf Ihre GitHub Enterprise Server-Instance.

Hinweise:

  • Dies führst du in der Regel nur dann aus, wenn du den Support kontaktiert hast und vom Support dazu aufgefordert wurdest.
  • Führen Sie in Konfigurationen mit hoher Verfügbarkeit diesen Befehl aus dem primären Befehl aus.

ghe-actions-start

Dieses Hilfsprogramm startet GitHub Actions auf Ihre GitHub Enterprise Server-Instance, nachdem es zuvor beendet wurde.

Hinweise:

  • Dies führst du in der Regel nur dann aus, wenn du den Support kontaktiert hast und vom Support dazu aufgefordert wurdest.
  • Führen Sie in Konfigurationen mit hoher Verfügbarkeit diesen Befehl aus dem primären Befehl aus.

Wenn Ihr Speichersystem ordnungsgemäß konfiguriert ist, wird die folgende Ausgabe angezeigt:

Actions was enabled!

GitHub Packages

ghe-check-blob-connection

Dieses Hilfsprogramm überprüft, ob ein BLOB Storage-Anbieter für GitHub Packages unter Ihre GitHub Enterprise Server-Instance gültig ist.

ghe-check-blob-connection --help

Wenn zuvor eine Verbindung konfiguriert wurde, können Tests durchgeführt werden, indem der Befehl ohne Parameter direkt ausgeführt wird.

ghe-check-blob-connection

Wenn Ihr Speichersystem ordnungsgemäß konfiguriert ist, wird die folgende Ausgabe angezeigt:

All Storage tests passed

Hochverfügbarkeit

ghe-repl-promote

Mit diesem Befehl wird die Replikation in einem vorhandenen Replikatknoten deaktiviert und der Replikatknoten mit den gleichen Einstellungen wie der ursprüngliche primäre Knoten in einen primären Knoten konvertiert. Alle Replikationsdienste sind aktiviert. Weitere Informationen findest du unter Initiieren eines Failovers zu deiner Replikat-Appliance.

Wenn ein Replikat hochgestuft wird, wird nicht automatisch die Replikation für vorhandene Appliances eingerichtet. Nach dem Hochstufen eines Replikats kannst Du bei Bedarf eine Replikation von der neuen primären Instanz zu den vorhandenen Appliances und zur vorherigen primären Instanz einrichten.

ghe-repl-promote

ghe-repl-setup

Führe dieses Hilfsprogramm in einem vorhandenen Knoten aus, um eine Hochverfügbarkeitskonfiguration zu aktivieren. Das Hilfsprogramm versetzt den Knoten in den Standbymodus, bevor du die Replikation mit ghe-repl-start beginnst. Weitere Informationen findest du unter Hochverfügbarkeitsreplikat erstellen.

Nach dem Ausführen des Hilfsprogramms weist der Knoten die folgende Konfiguration auf.

  • Für die Kommunikation zwischen den Knoten wird ein verschlüsselter WireGuard-VPN-Tunnel eingerichtet.
  • Datenbankdienste werden für die Replikation konfiguriert und gestartet.
  • Anwendungsdienste werden deaktiviert. Bei Versuchen, über HTTP oder HTTPS, Git oder andere unterstützte Protokolle auf den Replikatknoten zuzugreifen, wird die Meldung „Server im Replikationsmodus“, eine Wartungsseite oder eine Fehlermeldung angezeigt.

Ersetze beim Ausführen dieses Hilfsprogramms „PRIMARY-NODE-IP“ durch die IP-Adresse des primären Knotens deiner Instanz.

ghe-repl-setup PRIMARY-NODE-IP

ghe-repl-start

Dieses Hilfsprogramm beginnt mit der Replikation aller Datenspeicher in einem Knoten. Führe dieses Hilfsprogramm nach der Ausführung von ghe-repl-setup aus. Weitere Informationen findest du unter Hochverfügbarkeitsreplikat erstellen.

ghe-repl-start

ghe-repl-status

Dieses Hilfsprogramm zeigt den Status der Replikation in einem Knoten an und gibt den Status OK, WARNING oder CRITICAL für den Replikationsdatenstrom jedes Datenspeichers zurück. Weitere Informationen findest du unter Überwachen einer Hochverfügbarkeitskonfiguration.

  • Wenn einer der Replikationskanäle den WARNING-Status aufweist, wird der Befehl mit dem Code 1 beendet.
  • Wenn Sie die Replikation nicht gestartet haben, wird der Befehl mit dem Code 1 beendet.
  • Wenn einer der Kanäle den CRITICAL-Status aufweist, wird der Befehl mit dem Code 2 beendet.
  • Die Ausgabe entspricht den Erwartungen des Nagios-Plug-Ins „check_by_ssh“. Weitere Informationen zum check_by_ssh-Plug-In findest du auf der offiziellen Nagios-Plug-In-Seite.
ghe-repl-status

Die Optionen -v und -vv bieten zusätzliche Informationen zum Replikationsstatus der einzelnen Datenspeicher.

ghe-repl-status -v

ghe-repl-stop

Mit diesem Befehl wird die Replikation für alle Datenspeicher in einem vorhandenen Replikatknoten vorübergehend deaktiviert. Alle Replikationsdienste werden beendet. Verwende ghe-repl-start, um die Replikation fortzusetzen.

ghe-repl-stop

ghe-repl-teardown

Dieses Hilfsprogramm deaktiviert die Replikation in einem vorhandenen Replikatknoten vollständig und entfernt die Replikatkonfiguration. Du kannst den folgenden Befehl über einen Replikatknoten ausführen. Wenn der Replikatknoten jedoch nicht erreichbar ist, kannst du den Befehl auch über den primären Knoten ausführen.

ghe-repl-teardown

ghe-repl-stop-all

Dieses Hilfsprogramm deaktiviert Replikationen aller Datenspeicher in allen Replikat-Knoten. Führen Sie dieses Hilfsprogramm vom primären Knoten aus, bevor Sie Replikate aktualisieren. Weitere Informationen findest du unter Upgrade mit einem Upgrade-Paket.

ghe-repl-start-all

Dieses Hilfsprogramm beginnt mit der Replikation aller Datenspeicher in allen Replikatknoten. Führen Sie dieses Hilfsprogramm vom primären Knoten aus, nachdem Sie Replikate aktualisieren. Weitere Informationen findest du unter Upgrade mit einem Upgrade-Paket.

Importieren und exportieren

ghe-migrator

ghe-migrator ist ein hochwertiges Tool für die Migration von einer GitHub-Instanz zu einer anderen. Du kannst deine Instanzen konsolidieren oder deine Organisation, Benutzer, Teams und Repositorys von GitHub.com nach GitHub Enterprise verschieben.

Weitere Informationen findest du in unseren Leitfäden zum Migrieren von Daten zu und von deinem Unternehmen.

git-import-detect

Ermittelt anhand einer URL, welcher Quellcodeverwaltungssystem-Typ sich am anderen Ende befindet. Während eines manuellen Imports ist dieser wahrscheinlich bereits bekannt. Dies kann jedoch bei automatisierten Skripts sehr nützlich sein.

git-import-detect

git-import-hg-raw

Dieses Hilfsprogramm importiert ein Mercurial-Repository in dieses Git-Repository. Weitere Informationen findest du unter Importieren aus anderen Versionskontrollsystemen mit der Verwaltungsshell.

git-import-hg-raw

git-import-svn-raw

Dieses Dienstprogramm importiert Daten über den Subversion-Verlauf und über Dateien in einen Git-Branch. Dies ist eine direkte Kopie der Struktur, wobei Trunk- oder Branch-Unterscheidungen ignoriert werden. Weitere Informationen findest du unter Importieren aus anderen Versionskontrollsystemen mit der Verwaltungsshell.

git-import-svn-raw

git-import-tfs-raw

Dieses Dienstprogramm importiert von Team Foundation Version Control (TFVC). Weitere Informationen findest du unter Importieren aus anderen Versionskontrollsystemen mit der Verwaltungsshell.

git-import-tfs-raw

git-import-rewrite

Dieses Dienstprogramm schreibt das importierte Repository erneut. Dies gibt dir die Möglichkeit, Autoren umzubenennen, und erzeugt für Subversion und TFVC auf Ordnern basierende Git-Verzweigungen. Weitere Informationen findest du unter Importieren aus anderen Versionskontrollsystemen mit der Verwaltungsshell.

git-import-rewrite

Lizenz

ghe-Lizenz

Mit diesem Hilfsprogramm können Sie mit Ihrer aktuellen aktiven Lizenz oder mit neuen Lizenzen interagieren, ohne sie zuerst importieren zu müssen. Sie können die Lizenz auch direkt anwenden, um die Änderungen mit --apply wirksam werden zu lassen. Das Anwenden von Änderungen mit dem Hilfsprogramm ghe-license vermeidet eine Ausführung der Konfiguration und startet nur die betroffenen Dienste neu.

Sie können die möglichen Befehle und Flags mithilfe von ghe-license -h überprüfen.

Alternativ können Sie Lizenzen mithilfe der REST-API oder von GitHub CLI verwalten. Siehe „REST-API-Endpunkte zum Verwalten von GitHub Enterprise Server“ und „Verwalten Ihrer Instanz mithilfe der GitHub CLI“.

Anzeigen von Lizenzinformationen. Alternativ können Sie das Flag -j für JSON-Formatierung verwenden.

ghe-license info
# "advanced_security_enabled" : true
# "advanced_security_seats" : 0
# "cluster_support" : false
# "company" : "GitHub"
# "croquet_support" : true
# "custom_terms" : true
# "evaluation" : false
# "expire_at" : "2025-01-01T23:59:59-08:00"
# "insights_enabled" : true
# "insights_expire_at" : "2025-01-01T23:59:59.999-08:00"
# "learning_lab_evaluation_expires" : "2023-01-01T23:59:59.000-08:00"
# "learning_lab_seats" : 100
# "perpetual" : false
# "reference_number" : "123456"
# "seats" : 0
# "ssh_allowed" : true
# "support_key" : null
# "unlimited_seating" : true

Überprüfen der Lizenz.

ghe-license check
# License is valid.

Alle Befehle werden für die vorhandene Lizenz ausgeführt. Sie können jedoch auch eine Lizenz von STDOUT mithilfe von --pipe bereitstellen.

cat license | ghe-license import --pipe
# License imported at /data/user/common/enterprise.ghl.
# License synchronized.

Sie können auch eine Lizenz bereitstellen, indem Sie der Umgebungsvariable GHE_LICENSE_FILE einen Dateipfad zuweisen.

GHE_LICENSE_FILE=/path/license ghe-license import
# License imported at /data/user/common/enterprise.ghl.
# License synchronized.

Sicherheit

ghe-find-insecure-git-operations

Dieses Hilfsprogramm durchsucht die Protokolle deiner Instanz und identifiziert Git-Vorgänge über SSH, die unsichere Algorithmen oder Hashfunktionen verwenden, einschließlich der Verschlüsselungsverfahren DSA, RSA-SHA-1, HMAC-SHA-1 und CBC. Du kannst die Ausgabe verwenden, um den Übergang jedes Clients zu einer sichereren SSH-Verbindung zu unterstützen. Weitere Informationen finden Sie unter the GitHub Blog und „Konfigurieren von SSH-Verbindungen mit deiner Instanz“.

ghe-find-insecure-git-operations

Support

ghe-diagnostics

Dieses Dienstprogramm führt eine Vielzahl an Überprüfungen durch und erfasst Informationen zu deiner Installation, die du an den Support senden kannst, damit der Support deine Probleme diagnostizieren kann.

Derzeit ähnelt die Ausgabe dieses Dienstprogramms dem Herunterladen der Diagnoseinformationen in der Verwaltungskonsole. Im Laufe der Zeit können ihr jedoch zusätzliche Verbesserungen hinzugefügt werden, die auf der Webbenutzeroberfläche nicht verfügbar sind. Weitere Informationen findest du unter Providing data to GitHub Support (Bereitstellen von Daten für GitHub Support).

ghe-diagnostics

ghe-support-bundle

Hinweis: Wenn für Ihre GitHub Enterprise Server-Instance eine Georeplikationskonfiguration verwendet wird oder deine Instanz ein Cluster ist, solltest du den Befehl ghe-cluster-support-bundle verwenden, um das Supportbundle abzurufen. Weitere Informationen findest du unter Befehlszeilenprogramme.

Dieses Dienstprogramm erstellt eine Support-Bundle-Tarball-Datei, die wichtige Protokolle aus deiner Instanz enthält.

Standardmäßig erstellt der Befehl den Tarball in /tmp, aber du kannst ihn auch nach STDOUT cat lassen, um das Streaming über SSH zu erleichtern. Dies ist nützlich, wenn die Web-Benutzeroberfläche nicht antwortet oder der Download eines Support-Bundles von /setup/support nicht funktioniert. Du musst diesen Befehl ausführen, wenn du ein erweitertes Bundle generieren möchtest, das ältere Protokolle enthält. Du kannst diesen Befehl auch ausführen, um das Support-Bundle direkt für den GitHub Enterprise-Support hochzuladen.

Um ein Standardpaket zu erstellen:

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -o' > support-bundle.tgz

So erstellst du ein Standardbundle, das Daten aus den letzten zwei Tagen enthält:

ssh -p 122 admin@HOSTNAME -- "ghe-support-bundle -p 2days  -o" > support-bundle.tgz

So erstellst du ein erweitertes Bundle, das Daten der letzten acht Tage enthält

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -x -o' > support-bundle.tgz

Um ein Paket an GitHub-Support zu senden:

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -u'

Um ein Paket an GitHub-Support zu senden und das Paket mit einem Ticket zu verknüpfen:

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -t TICKET_ID'

ghe-support-upload

Dieses Dienstprogramm sendet Informationen von deiner Appliance an den GitHub Enterprise-Support. Über STDIN kannst du eine lokale Datei oder einen Datenstrom von bis zu 100 MB angeben. Optional können die hochgeladenen Daten einem Supportticket zugeordnet werden.

Um eine Datei an GitHub-Support zu senden und die Datei mit einem Ticket zu verknüpfen:

ghe-support-upload -f FILE_PATH -t TICKET_ID

Um Daten über STDIN hochzuladen und die Daten mit einem Ticket zu verknüpfen:

ghe-repl-status -vv | ghe-support-upload -t TICKET_ID -d "Verbose Replication Status"

In diesem Beispiel sendet ghe-repl-status -vv ausführliche Statusinformationen aus einer Replikat-Appliance. Du solltest ghe-repl-status -vv durch die spezifischen Daten ersetzen, die du nach STDIN streamen möchtest, und Verbose Replication Status durch eine kurze Beschreibung der Daten. Dies führst du in der Regel nur dann aus, wenn du den Support kontaktiert hast und vom Support dazu aufgefordert wurdest.

Upgrade von GitHub Enterprise Server

ghe-check-background-upgrade-jobs

Während eines Upgrades auf ein Featurerelease zeigt dieses Hilfsprogramm den Status von Hintergrundaufträgen in Ihre GitHub Enterprise Server-Instance an. Wenn Back-to-Back-Upgrades vorgenommen werden, sollte mit diesem Hilfsprogramm überprüft werden, ob alle Hintergrundaufträge abgeschlossen sind, bevor es mit dem nächsten Upgrade weitergehen kann.

ghe-check-background-upgrade-jobs

ghe-migrations

Während eines Upgrades auf ein Featurerelease zeigt dieses Hilfsprogramm den Status aktiver Datenbankmigrationen in Ihre GitHub Enterprise Server-Instance an. Die Ausgabe enthält einen Versionsbezeichner für die Migration, den Namen der Migration, den Status der Migration sowie die aktuelle Dauer der Migration.

Anzeigen der Liste der Migrationen:

ghe-migrations

Standardmäßig gibt das Hilfsprogramm eine Tabelle mit zehn Zeilen aus. Gehe wie folgt vor, um die Höhe der Tabelle in Zeilen anzupassen:

ghe-migrations -height LINES

Standardmäßig wird die Schnellansicht jede Sekunde aktualisiert. Gehe wie folgt vor, um die Dauer in Sekunden zum Aktualisieren der Schnellansicht anzugeben:

ghe-migrations -refresh_rate SECONDS

ghe-update-check

Dieses Dienstprogramm überprüft, ob eine neue Patch-Veröffentlichung von GitHub Enterprise verfügbar ist. Falls dies der Fall und auf deiner Instanz Speicherplatz verfügbar ist, wird das Paket heruntergeladen. Es wird standardmäßig unter /var/lib/ghe-updates gespeichert. Ein Administrator kann dann das Upgrade ausführen.

Eine Datei mit dem enthaltenen Downloadstatus ist unter /var/lib/ghe-updates/ghe-update-check.status verfügbar.

Verwende den Schalter -i, um nach der neuesten GitHub Enterprise-Version zu suchen.

ssh -p 122 admin@HOSTNAME -- 'ghe-update-check'

ghe-upgrade

Dieses Dienstprogramm installiert oder verifiziert ein Upgrade-Paket. Darüber hinaus kannst du dieses Dienstprogramm verwenden, um ein Rollback einer Patch-Veröffentlichung auszuführen, wenn ein Upgrade fehlschlägt oder unterbrochen wird. Weitere Informationen findest du unter Übersicht über den Upgradeprozess.

Um ein Upgrade-Paket zu überprüfen:

ghe-upgrade --verify UPGRADE-PACKAGE-FILENAME

Um ein Upgrade-Paket zu installieren:

ghe-upgrade UPGRADE-PACKAGE-FILENAME

Wenn du ein Rollback eines Upgrades durchführst, musst du eine Upgradepaketdatei mit der Erweiterung .pkg verwenden. Hotpatchpaketdateien mit der Erweiterung .hpkg werden nicht unterstützt.

ghe-upgrade --allow-patch-rollback EARLIER-RELEASE-UPGRADE-PACKAGE.pkg

Nach Ausführung des Befehls ist ein Neustart erforderlich. Der Rollback wirkt sich nicht auf die Datenpartition aus, da Migrationen nicht mit Patch-Releases ausgeführt werden.

ghe-upgrade-scheduler

Dieses Dienstprogramm verwaltet die geplante Installation von Upgrade-Paketen. Du kannst geplante Installationen anzeigen, neu erstellen oder entfernen. Pläne müssen mit Cron-Ausdrücken erstellt werden. Weitere Informationen findest du im Eintrag zu Cron in Wikipedia.

Das Hilfsprogramm ghe-upgrade-scheduler eignet sich am besten für die Planung von Hotpatch-Upgrades, für die in den meisten Fällen kein Wartungsmodus oder Neustart erforderlich ist. Dieses Hilfsprogramm eignet sich nicht für vollständige Paketupgrades, bei denen ein Administrator den Wartungsmodus manuell festlegen, die Instanz neu starten und den Wartungsmodus aufheben muss. Weitere Informationen zu den verschiedenen Upgradetypen findest du unter Upgrade mit einem Upgrade-Paket.

Um eine neue Installation für ein Paket einzuplanen:

ghe-upgrade-scheduler -c "0 2 15 12 *" UPGRADE-PACKAGE-FILENAME

Um eingeplante Installationen für ein Paket anzuzeigen:

$ ghe-upgrade-scheduler -s UPGRADE PACKAGE FILENAME
> 0 2 15 12 * /usr/local/bin/ghe-upgrade -y -s UPGRADE-PACKAGE-FILENAME > /data/user/common/UPGRADE-PACKAGE-FILENAME.log 2>&1

Um eingeplante Installationen für ein Paket zu entfernen:

ghe-upgrade-scheduler -r UPGRADE PACKAGE FILENAME

Benutzerverwaltung

ghe-Lizenznutzung

Dieses Dienstprogramm exportiert eine Liste von Benutzern der Installation im JSON-Format. Wenn deine Instanz mit der GitHub Enterprise Cloud verbunden ist, verwendet GitHub Enterprise Server diese Informationen, um Lizenzinformationen an die GitHub Enterprise Cloud zu melden. Weitere Informationen findest du unter Enabling GitHub Connect for GitHub.com.

Standardmäßig wird die Liste der Benutzer in der resultierenden JSON-Datei verschlüsselt. Überprüfen Sie optionale Flags über ghe-license --help.

ghe-license usage

ghe-org-membership-update

Dieses Dienstprogramm erzwingt die standardmäßige Einstellung für die Sichtbarkeit von Mitgliedschaften in der Organisation für alle Mitglieder auf deiner Instanz. Weitere Informationen findest du unter Sichtbarkeit für die Organisationsmitgliedschaft konfigurieren. Einstellungsoptionen sind public oder private.

ghe-org-membership-update --visibility=SETTING

ghe-user-csv

Dieses Dienstprogramm exportiert eine Liste aller Benutzer in der Installation im CSV-Format. Die CSV-Datei enthält die E-Mail-Adresse, von welchem Benutzertyp sie sind (z. B. Administrator, Benutzer), über wie viele Repositorys, SSH-Schlüssel und Organisationsmitgliedschaften sie verfügen, wie die letzte protokollierte IP-Adresse lautet usw. Verwende das Flag -h für weitere Optionen.

ghe-user-csv -o > users.csv

ghe-user-demote

Dieses Dienstprogramm stuft den angegebenen Benutzer vom Administratorstatus auf einen gewöhnlichen Benutzer zurück. Du solltest die Web-Benutzeroberfläche verwenden, um diese Aktion durchzuführen, dieses Dienstprogramm jedoch für den Fall bereitstellen, dass das Dienstprogramm ghe-user-promote einen fehlerhaften Zustand aufweist und du einen Benutzer erneut über die CLI zurückstufen musst.

ghe-user-demote USERNAME

ghe-user-promote

Dieses Dienstprogramm stuft das angegebene Benutzerkonto auf einen Websiteadministrator hoch.

ghe-user-promote USERNAME

ghe-user-suspend

Dieses Dienstprogramm sperrt den angegebenen Benutzer und hindert ihn daran, sich anzumelden oder Elemente per Push-Vorgang an deine Repositorys zu übertragen oder aus diesen abzurufen.

ghe-user-suspend USERNAME

ghe-user-unsuspend

Dieses Dienstprogramm entsperrt den angegebenen Benutzer und gewährt ihm Zugriff, um sich anzumelden und um Elemente per Push-Vorgang an deine Repositorys zu übertragen und aus ihnen abzurufen.

ghe-user-unsuspend USERNAME