Hallo, Entdecker! An dieser Seite wird aktiv gearbeitet, oder sie wird noch übersetzt. Die neuesten und genauesten Informationen finden Sie in unserer englischsprachigen Dokumentation.
Artikelversion: Enterprise Server 2.15

Diese Version von GitHub Enterprise wird eingestellt am Diese Version von GitHub Enterprise wurde eingestellt am 2019-10-16. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Pre-Receive-Hooks-Umgebung erstellen

Verwenden Sie zum Ausführen von Pre-Receive-Hooks die standardmäßige Pre-Receive-Umgebung, oder erstellen Sie eine benutzerdefinierte Umgebung.

Eine Pre-Receive-Umgebung für GitHub Enterprise Server ist eine Linux-chroot-Umgebung. Da Pre-Receive-Hooks bei jedem Push-Ereignis ausgeführt werden, sollten sie schnell und kompakt sein. Die für solche Überprüfungen benötigte Umgebung ist in der Regel minimal.

GitHub Enterprise Server bietet eine Standardumgebung. Diese enthält die folgenden Pakete: awk, bash, coreutils, curl, find, gnupg, grep, jq, sed.

Wenn eine bestimmte Anforderung vorliegt, die von dieser Umgebung nicht erfüllt wird, beispielsweise die Unterstützung einer bestimmten Sprache, können Sie Ihre eigene 64-Bit-Linux-chroot-Umgebung erstellen und hochladen.

In diesem Handbuch

Pre-Receive-Hook-Umgebung mit Docker erstellen

Sie können ein Linux-Containerverwaltungstool zum Erstellen einer Pre-Receive-Hook-Umgebung verwenden. In diesem Beispiel werden Alpine Linux und Docker verwendet.

  1. Ensure Docker is installed locally.

  2. Erstellen Sie die Datei Dockerfile.alpine-3.3, welche die folgenden Informationen enthält:

```
FROM gliderlabs/alpine:3.3
RUN apk add --no-cache git bash
```
  1. From the working directory that contains Dockerfile.alpine-3.3, build an image:

$ docker build -f Dockerfile.alpine-3.3 -t pre-receive.alpine-3.3 .
> Sending build context to Docker daemon 12.29 kB
> Step 1 : FROM gliderlabs/alpine:3.3
>  ---> 8944964f99f4
> Step 2 : RUN apk add --no-cache git bash
>  ---> Using cache
>  ---> 0250ab3be9c5
> Successfully built 0250ab3be9c5
  1. Erstellen Sie einen Container:

$ docker create --name pre-receive.alpine-3.3 pre-receive.alpine-3.3 /bin/true
  1. Exportieren Sie den Docker-Container in eine gzip-komprimierte TAR-Datei:

$ docker export pre-receive.alpine-3.3 | gzip > alpine-3.3.tar.gz

Diese Datei alpine-3.3.tar.gz kann auf die Appliance GitHub Enterprise Server hochgeladen werden.

Pre-Receive-Hook-Umgebung mit chroot erstellen

  1. Erstellen Sie eine Linux-chroot-Umgebung.

  2. Erstellen Sie eine gzip-komprimierte TAR-Datei des Verzeichnisses chroot:

$ tar -czf pre-receive-environment.tar.gz /path/to/chroot

For more information about creating a chroot environment see "Chroot" from the Debian Wiki, "BasicChroot" from the Ubuntu Community Help Wiki, or "Installing Alpine Linux in a chroot" from the Alpine Linux Wiki.

Pre-Receive-Hook-Umgebung auf GitHub Enterprise Server hochladen

  1. In the upper-right corner of any page, click .
    Raumschiffsymbol für den Zugriff auf die Einstellungen des Websiteadministrators
  1. In the left sidebar, click Business.
    Business tab in the Site admin settings
  1. Under your business account's name, click Settings.
    Settings tab on the business account profile page
  1. Klicken Sie auf der linken Seitenleiste auf Hooks.

    Hooks tab in the business account settings sidebar

  2. Klicken Sie auf Manage environments (Umgebungen verwalten).

    Umgebungen verwalten

  3. Klicken Sie auf Add environment (Umgebung hinzufügen).

    Add Environment (Umgebung hinzufügen)

  4. Geben Sie den gewünschten Namen in das Feld Environment name (Name der Umgebung) ein.

    Environment name (Name der Umgebung)

  5. Geben Sie die URL der *.tar.gz-Datei ein, in der Ihre Umgebung enthalten ist.

    Upload environment from a URL (Umgebung über eine URL hochladen)

  6. Klicken Sie auf Add environment (Umgebung hinzufügen).

    Schaltfläche „Add environment“ (Umgebung hinzufügen)

Pre-Receive-Hook-Umgebung über die Verwaltungsshell hochladen

  1. Laden Sie eine lesbare *.tar.gz-Datei, die Ihre Umgebung enthält, auf einen Webhost hoch, und kopieren Sie die URL, oder übertragen Sie die Datei über scp an die GitHub Enterprise Server-Appliance. Wenn Sie scp verwenden, müssen Sie die *.tar.gz-Dateiberechtigungen ggf. anpassen, damit die Datei allgemein lesbar ist.

  2. Stellen Sie eine Verbindung zur Verwaltungsshell her.

  3. Führen Sie den Befehl ghe-hook-env-create aus, und geben Sie den gewünschten Namen für die Umgebung als das erste Argument und den vollständigen lokalen Pfad oder die URL einer *.tar.gz-Datei, die Ihre Umgebung enthält, als das zweite Argument ein.

admin@ghe-host:~$ ghe-hook-env-create AlpineTestEnv /home/admin/alpine-3.3.tar.gz
> Pre-receive hook environment 'AlpineTestEnv' (2) has been created.

Menschliche Unterstützung einholen

Sie können das Gesuchte nicht finden?

Kontakt