Skip to main content

Diese Version von GitHub Enterprise Server wird eingestellt am 2024-06-29. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise Server. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Authentifizieren bei der GitHub-API

Erfahre, wie du dich bei der GitHub-API authentifizierst, um Actions Runner Controller mit Ihre GitHub Enterprise Server-Instance zu verwenden.

Rechtliche Hinweise

Übersicht

Du kannst Actions Runner Controller (ARC) bei der GitHub-API authentifizieren, indem du eine GitHub App oder ein personal access token verwendest.

Hinweis: Du kannst dich nicht mit einer GitHub App für Runner auf Unternehmensebene authentifizieren. Weitere Informationen findest du unter Verwalten des Zugriffs auf selbstgehostete Runner mithilfe von Gruppen.

Authentifizieren von ARC mit einer GitHub App

  1. Erstelle eine GitHub App für deine Organisation. Weitere Informationen findest du unter Registrieren einer GitHub-App. Konfiguriere die GitHub App wie folgt.

    1. Gibt unter „Homepage-URL“ Folgendes ein: https://github.com/actions/actions-runner-controller.

    2. Klicke unter „Berechtigungen“ auf die Option Repositoryberechtigungen. Verwende dann die Dropdownmenüs, um die folgenden Zugriffsberechtigungen auszuwählen.

      • Administration: Lese- und Schreibzugriff

        Hinweis: Administration: Read and write ist nur erforderlich, wenn Actions Runner Controller für die Registrierung im Repositorybereich konfiguriert wird. Es ist nicht erforderlich, sich im Organisationsbereich zu registrieren.

      • Metadaten: Nur Lesezugriff

    3. Klicke unter „Berechtigungen“ auf Organisationsberechtigungen. Verwende dann die Dropdownmenüs, um die folgenden Zugriffsberechtigungen auszuwählen.

      • Selbstgehostete Runner:Lese- und Schreibzugriff
  2. Nachdem du GitHub App erstellt hast, notiere dir den Wert für „App-ID“ auf der GitHub App-Seite. Du wirst diesen Wert später noch verwenden.

  3. Klicke unter „Private Schlüssel“ auf Privaten Schlüssel generieren, und speichere die Datei .pem. Du wirst diesen Schlüssel später noch verwenden.

  4. Klicke im Menü in der oberen linken Ecke der Seite auf App installieren, und klicke neben deiner Organisation auf Installieren, um die App in deiner Organisation zu installieren.

  5. Nachdem du die Installationsberechtigungen für deine Organisation bestätigt hast, musst du dir die App-Installations-ID notieren. Er wird später noch benötigt. Du findest die App-Installations-ID auf der App-Installationsseite, die das folgende URL-Format aufweist:

    https://HOSTNAME/organizations/ORGANIZATION/settings/installations/INSTALLATION_ID

  6. Registriere die App-ID, die Installations-ID und die heruntergeladene .pem-Datei des privaten Schlüssels aus den vorherigen Schritten in Kubernetes als Geheimnis.

    Führe den folgenden Befehl aus, um ein Kubernetes-Geheimnis mit den Werten deiner GitHub App zu erstellen.

    Hinweis: Erstelle das Geheimnis in dem Namespace, in dem das gha-runner-scale-set-Diagramm installiert ist. In diesem Beispiel ist der Namespace arc-runners, um der Schnellstartdokumentation zu entsprechen. Weitere Informationen findest du unter Schnellstart für Actions Runner Controller.

    Bash
    kubectl create secret generic pre-defined-secret \
       --namespace=arc-runners \
       --from-literal=github_app_id=123456 \
       --from-literal=github_app_installation_id=654321 \
       --from-literal=github_app_private_key='-----BEGIN RSA PRIVATE KEY-----********'
    

    Übergebe dann mithilfe der githubConfigSecret-Eigenschaft in deiner Kopie der values.yaml-Datei den Geheimnisnamen als Verweis.

    githubConfigSecret: pre-defined-secret
    

Weitere Helm-Konfigurationsoptionen findest du unter values.yaml im ARC-Repository.

Authentifizierung von ARC mit einem personal access token

ARC kann personal access tokens verwenden, um selbstgehostete Runner zu registrieren.

Hinweis: Die Authentifizierung von ARC mit einem personal access token ist die einzige unterstützte Authentifizierungsmethode zum Registrieren von Runnern auf Unternehmensebene.

  1. Erstelle ein personal access token mit den erforderlichen Bereichen. Die erforderlichen Bereiche unterscheiden sich je nachdem, ob du Runner auf der Repositoryebene, Organisationsebene oder Unternehmensebene registrierst. Weitere Informationen zum Erstellen eines personal access token findest du unter Verwalten deiner persönlichen Zugriffstoken.

    Im Folgenden ist die Liste der erforderlichen personal access token-Bereiche für ARC-Runner aufgeführt.

    • Repository-Runner: repo
    • Organisations-Runner: admin:org
    • Unternehmens-Runner: manage_runners:enterprise
  2. Führe den folgenden Befehl aus, um ein Kubernetes-Geheimnis mit den Werten deines personal access token zu erstellen.

    Hinweis: Erstelle das Geheimnis in dem Namespace, in dem das gha-runner-scale-set-Diagramm installiert ist. In diesem Beispiel ist der Namespace arc-runners, um der Schnellstartdokumentation zu entsprechen. Weitere Informationen findest du unter Schnellstart für Actions Runner Controller.

    Bash
    kubectl create secret generic pre-defined-secret \
       --namespace=arc-runners \
       --from-literal=github_token='YOUR-PAT'
    
  3. Übergib den Geheimnisnamen in deiner Kopie der values.yaml-Datei als Verweis.

    githubConfigSecret: pre-defined-secret
    

    Weitere Helm-Konfigurationsoptionen findest du unter values.yaml im ARC-Repository.

Teile wurden von https://github.com/actions/actions-runner-controller/ unter der Apache-2.0-Lizenz übernommen:

Copyright 2019 Moto Ishizawa

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.