Par défaut, le workflow GitHub Actions d’une configuration de prébuild peut uniquement accéder au contenu de son propre dépôt. Votre projet peut utiliser des ressources supplémentaires, situées ailleurs, pour créer l’environnement de développement.
Autorisation d’une prébuild à accéder en lecture à des ressources externes
Vous pouvez configurer l’accès en lecture à d’autres dépôts GitHub avec le même propriétaire de dépôt, en spécifiant des autorisations dans le fichier devcontainer.json
utilisé par votre configuration de prébuild. Pour plus d’informations, consultez « Gestion de l’accès à d’autres dépôts dans votre codespace ».
Remarques :
- Vous ne pouvez accorder qu'une autorisation d'accès en lecture de cette manière, et le propriétaire du référentiel cible doit être le même que celui du référentiel pour lequel vous créez une préversion. Par exemple, si vous créez une configuration de préversion de
octo-org/octocatrepository
, vous pourrez accorder des autorisations de lecture à d'autres référentiels tels queasocto-org/octodemo
, si cela est spécifié dans le fichierdevcontainer.json
, à condition que vous disposiez vous-même des autorisations. - Vous ne pouvez pas utiliser des caractères génériques pour spécifier des référentiels. Vous devez définir des autorisations pour chaque référentiel auquel vous souhaitez accorder l'accès.
Lorsque vous créez ou modifiez une configuration de prébuild pour un fichier devcontainer.json
qui configure l’accès en lecture à d’autres dépôts avec le même propriétaire de dépôt, vous êtes invité à accorder ces autorisations lorsque vous cliquez sur Créer ou Mettre à jour. Pour plus d’informations, consultez « Configuration des prébuilds ».
Autorisation d’une prébuild à accéder en écriture à des ressources externes
Si votre projet a besoin d’un accès en écriture sur les ressources ou si les ressources externes résident dans un référentiel avec un propriétaire autre que celui du référentiel pour lequel vous créez une configuration de prébuild, vous pouvez utiliser un personal access token pour accorder cet accès.
Vous devez créer un compte personnel et utiliser ce compte pour créer un personal access token (classic) avec les étendues appropriées.
-
Créez un compte personnel sur GitHub.
Avertissement : Même si vous pouvez générer le personal access token (classic) en utilisant votre compte personnel existant, nous vous recommandons vivement de créer un autre compte doté uniquement d’un accès aux dépôts cibles nécessaires pour votre scénario. En effet, l’autorisation
repository
du jeton d’accès octroie un accès à tous les dépôts auxquels le compte a accès. Pour plus d’informations, consultez « Création d’un compte sur GitHub » et « Durcissement de la sécurité pour GitHub Actions ». -
Octroyez au nouveau compte un accès en lecture aux dépôts nécessaires. Pour plus d’informations, consultez « Gestion de l’accès d’une personne à un dépôt d’organisation ».
-
En étant connecté au nouveau compte, créez un personal access token (classic) avec l’étendue
repo
. Éventuellement, si la prébuild a besoin de télécharger des packages à partir de GitHub Container registry, sélectionnez aussi l’étendueread:packages
. Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ».Si la prébuild utilise un package issu de GitHub Container registry, vous avez besoin soit d’octroyer au nouveau compte un accès au package, soit de configurer le package de sorte à ce qu’il hérite des autorisations d’accès du dépôt dont vous créez la prébuild. Pour plus d’informations, consultez « Configuration du contrôle d’accès et de la visibilité d’un package ».
-
Copiez la chaîne du jeton. Vous allez l’attribuer à un secret de dépôt Codespaces.
-
Reconnectez-vous au compte qui dispose d’un accès administrateur au dépôt.
-
Dans le dépôt pour lequel vous voulez créer des prébuilds GitHub Codespaces, créez un secret de dépôt Codespaces appelé
CODESPACES_PREBUILD_TOKEN
, en lui donnant la valeur du jeton que vous avez créé et copié. Pour plus d’informations, consultez « Gestion des secrets d’environnement de développement pour votre référentiel ou votre organisation ».
Le personal access token est utilisé pour toutes les prébuilds ultérieures créées pour votre dépôt. Contrairement à d’autres secrets de référentiel Codespaces, le secret CODESPACES_PREBUILD_TOKEN
est utilisé uniquement pour créer la prébuild. Il n’est pas disponible pour être utilisé dans des codespaces créés à partir de votre référentiel.