Der GitHub Actions-Workflow für eine Prebuildkonfiguration kann standardmäßig nur auf Inhalte im eigenen Repository zugreifen. Dein Projekt verwendet für die Erstellung der Entwicklungsumgebung möglicherweise zusätzliche Ressourcen, die sich an anderer Stelle befinden.
Gewähren von Lesezugriff auf externe Ressourcen durch einen Prebuild
Du kannst Lesezugriff auf andere GitHub-Repositorys mit dem bzw. der gleichen Repositorybesitzer*in konfigurieren, indem du Berechtigungen in der von der Prebuildkonfiguration verwendeten devcontainer.json
-Datei angibst. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf andere Repositorys innerhalb deines Codespace.
Note
- 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 Dateidevcontainer.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 dein Projekt Schreibzugriff auf Ressourcen benötigt, oder wenn sich die externen Ressourcen in einem Repository mit einem anderen Besitzer befinden als das Repository, für das du eine Prebuildkonfiguration erstellst, kannst du ein personal access token verwenden, um diesen Zugriff zu gewähren.
Du musst ein neues persönliches Konto erstellen und mit diesem Konto ein personal access token (classic) mit den geeigneten Bereichen generieren.
-
Erstelle auf GitHub ein neues persönliches Konto.
Warning
Auch wenn du das personal access token (classic) mit deinem bestehenden persönlichen Konto generieren kannst, wird dringend empfohlen, ein neues Konto zu erstellen, das nur auf die Zielrepositorys zugreifen kann, die für dein Szenario benötigt werden. 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 Sicherheitshärtung für GitHub Actions. -
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.
-
Erstelle ein personal access token (classic) mit dem Bereich
repo
, nachdem du dich bei dem neuen Konto angemeldet hast. Wähle optional denread:packages
-Geltungsbereich aus, wenn der Prebuild die Pakete aus der GitHub Container registry herunterladen muss. Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.Wenn der Prebuild ein Paket aus der GitHub Container registry nutzt, musst du dem neuen Konto entweder den Zugriff auf das Paket gewähren oder das Paket so konfigurieren, dass es die Zugriffsberechtigungen des Repositorys erbt, das gerade vorab erstellt wird. Weitere Informationen finden Sie unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.
-
Kopiere die Tokenzeichenfolge. Weise diese einem Codespaces-Repositorygeheimnis zu.
-
Melde dich wieder bei dem Konto an, das über den Administratorzugriff auf das Repository verfügt.
-
Erstelle im Repository, für das du GitHub Codespaces-Prebuilds erstellen möchtest, ein neues Codespaces-Repositorygeheimnis namens
CODESPACES_PREBUILD_TOKEN
, und gib ihm den Wert des von dir erstellen und kopierten Tokens. 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 dein Repository erstellt werden. Im Gegensatz zu anderen Codespaces-Repository-Geheimnissen wird das CODESPACES_PREBUILD_TOKEN
-Geheimnis nur für das Prebuilding verwendet und kann nicht in Codespaces verwendet werden, die aus deinem Repository erstellt wurden.