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/octocatrepositoryerstellst, kannst du Leseberechtigungen für andere Repositorys wie z. B.octo-org/octodemoerteilen, wenn dies in der Dateidevcontainer.jsonangegeben 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.
-
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. -
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.
-
Während Sie beim neuen Konto angemeldet sind, erstellen Sie einen personal access token (classic) mit dem
repoScope. Optional: Wenn der Prebuild Pakete von GitHubContainer registry herunterladen muss, wählen Sie auch denread:packagesGültigkeitsbereich aus. Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.
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.
-
Kopiere die Tokenzeichenfolge. Sie weisen dies einem Codespaces Repositoryschlüssel zu.
-
Melde dich wieder bei dem Konto an, das über den Administratorzugriff auf das Repository verfügt.
-
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.