Skip to main content

Gewährung des Zugriffs eines Prebuilds auf andere Repositories

Sie können ihrem Vorabbuild den Zugriff auf andere GitHub Repositorys gestatten, damit er erfolgreich erstellt werden kann.

Wer kann dieses Feature verwenden?

People with admin access to a repository can configure prebuilds for the repository.

Einstellungen auf Repositoryebene für GitHub Codespaces sind für alle Repositorys verfügbar, die persönlichen Konten gehören.

Für Repositorys im Besitz von Organisationen sind Einstellungen auf Repositoryebene für GitHub Codespaces für Organisationen in GitHub Team und GitHub Enterprise-Plänen verfügbar. Um auf die Einstellungen zugreifen zu können, muss die Organisation oder ihr Stammunternehmen eine Zahlungsmethode hinzugefügt und ein Ausgabenlimit für GitHub Codespaces festgelegt haben. Weitere Informationen findest du unter Auswählen der Besitzerinnen und Zahlerinnen von Codespaces in deiner Organisation und Pläne von GitHub.

Standardmäßig kann der GitHub Actions Workflow für eine Vorbuildkonfiguration nur auf seine eigenen Repositoryinhalte zugreifen. Dein Projekt verwendet für die Erstellung der Entwicklungsumgebung möglicherweise zusätzliche Ressourcen, die sich an anderer Stelle befinden.

Ermöglichen eines Lesezugriffs auf externe Ressourcen für einen Prebuild

Sie können den Lesezugriff auf andere GitHub-Repositorys mit demselben Repository-Besitzer konfigurieren, indem Sie die Berechtigungen in der von Ihrer Prebuild-Konfiguration verwendeten devcontainer.json-Datei angeben. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf andere Repositorys innerhalb deines Codespace.

Hinweis

  • Du kannst nur Leseberechtigungen auf diese Weise autorisieren, und der bzw. die Besitzerin des Zielrepositorys müssen dem bzw. der Besitzerin des Repositorys entsprechen, für das du einen Prebuild erstellst. Wenn du z. B. eine Prebuildkonfiguration für das octo-org/octocatrepository erstellst, kannst du Leseberechtigungen für andere Repositorys wie z. B. octo-org/octodemo erteilen, wenn dies in der Datei devcontainer.json angegeben ist und du selbst über diese Berechtigungen verfügst.
  • Sie können keine Platzhalter zum Angeben von Repositorys verwenden. Sie müssen Berechtigungen für jedes Repository definieren, für das Sie Zugriff gewähren möchten.

Beim Erstellen oder Bearbeiten einer Prebuildkonfiguration für eine devcontainer.json-Datei, die Lesezugriff auf andere Repositorys mit dem bzw. der gleichen Repositorybesitzer*in einrichtet, wirst du aufgefordert, diese Berechtigungen zu erteilen, wenn du auf Erstellen oder Aktualisieren klickst. Weitere Informationen finden Sie unter Konfigurieren von Prebuilds.

Gewähren von Schreibzugriff auf externe Ressourcen durch einen Prebuild

Wenn für Ihr Projekt Schreibzugriff auf Ressourcen erforderlich ist oder sich die externen Ressourcen in einem Repository mit einem anderen Besitzer befinden als dem Repository, für das Sie eine Prebuild-Konfiguration erstellen, können Sie personal access token verwenden, um diesen Zugriff zu gewähren.

Sie müssen ein neues persönliches Konto erstellen und dieses dann verwenden, um ein personal access token (classic) mit den entsprechenden Berechtigungsumfängen zu erstellen.

  1. Erstellen Sie ein neues persönliches Konto auf GitHub.

    Warnung

    Obwohl Sie das personal access token (classic) mit Ihrem vorhandenen persönlichen Konto generieren können, empfehlen wir dringend, ein neues Konto zu erstellen, das nur Zugriff auf die für Ihr Szenario erforderlichen Ziel-Repositorys hat. Dies wird empfohlen, da die repository-Berechtigung des Zugriffstokens den Zugriff auf alle Repositorys ermöglicht, auf die das Konto zugreifen kann. Weitere Informationen findest du unter Erstellen eines Kontos auf GitHub und Referenz zur sicheren Verwendung.

  2. Erteile dem neuen Konto Lesezugriff auf die benötigten Repositorys. Weitere Informationen finden Sie unter Den Zugriff einer Person auf ein Repository einer Organisation verwalten.

  3. Während Sie beim neuen Konto angemeldet sind, erstellen Sie einen personal access token (classic) mit dem repo Scope. Optional: Wenn der Prebuild Pakete von GitHubContainer registry herunterladen muss, wählen Sie auch den read:packages Gültigkeitsbereich aus. Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.

    Screenshot der Konfigurationsoptionen „Scopes auswählen“ für ein personal access token (classic), dabei sind die Scopes „repo“ und „read:packages“ ausgewählt.

    Wenn beim Prebuild ein Paket aus GitHubContainer registry verwendet wird, müssen Sie entweder dem neuen Konto Zugriff auf das Paket gewähren oder das Paket so konfigurieren, dass es die Zugriffsberechtigungen des Repositorys erbt, für das Sie den Prebuild ausführen. Weitere Informationen finden Sie unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.

  4. Kopiere die Tokenzeichenfolge. Sie weisen dies einem Codespaces Repositoryschlüssel zu.

  5. Melde dich wieder bei dem Konto an, das über den Administratorzugriff auf das Repository verfügt.

  6. Erstellen Sie in dem Repository, für das Sie GitHub Codespaces Prebuilds erstellen möchten, ein neues Codespaces Repository-Geheimnis namens CODESPACES_PREBUILD_TOKEN, und weisen Sie ihm den Wert des Tokens zu, den Sie erstellt und kopiert haben. Weitere Informationen finden Sie unter Verwalten von Entwicklungsumgebungs-Geheimnissen für Ihr Repository oder Ihre Organisation.

Das personal access token wird für alle nachfolgenden Prebuilds verwendet, die für Ihr Repository erstellt werden. Im Gegensatz zu anderen Codespaces Repository-Geheimnissen wird das CODESPACES_PREBUILD_TOKEN Geheimnis nur für Prebuilds verwendet und ist nicht in Codespaces verfügbar, die aus Ihrem Repository erstellt werden.

Weiterführende Lektüre