Skip to main content

Permitiendo que una precompilación acceda a otros repositorios

Puede permitir que la compilación previa acceda a otros GitHub repositorios para que se pueda compilar correctamente.

¿Quién puede utilizar esta característica?

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

La configuración de nivel de repositorio de GitHub Codespaces está disponible para todos los repositorios que pertenecen a cuentas personales.

En el caso de los repositorios pertenecientes a organizaciones, la configuración de nivel de repositorio de GitHub Codespaces está disponible para las organizaciones en los planes GitHub Team y GitHub Enterprise. Para acceder a la configuración, la organización o su empresa primaria deben haber agregado un método de pago y haber establecido un límite de gasto para GitHub Codespaces. Para más información, consulta Selección de quién posee y paga los codespaces de una organización y planes de GitHub.

De forma predeterminada, el GitHub Actions flujo de trabajo de una configuración de precompilación solo puede acceder a su propio contenido del repositorio. Es posible que el proyecto use recursos adicionales, ubicados en otros lugares, para construir el entorno de desarrollo.

Permitir que una precompilación tenga acceso de lectura a recursos externos

Puede configurar el acceso de lectura a otros GitHub repositorios, con el mismo propietario del repositorio, especificando permisos en el archivo usado por la devcontainer.json configuración de precompilación. Para más información, consulta Administración del acceso a otros repositorios dentro del codespace.

Nota:

  • Solo puede autorizar permisos de lectura de esta manera y el propietario del repositorio de destino debe ser el mismo que el propietario del repositorio para el que va a crear la precompilación. Por ejemplo, si vas a crear una configuración de precompilación para octo-org/octocatrepository, podrás conceder permisos de lectura para otros repositorios, como octo-org/octodemo, si esto se especifica en el archivo devcontainer.json y siempre que tú mismo tengas los permisos.
  • No se pueden usar caracteres comodín para especificar repositorios. Debe definir permisos para cada repositorio para el que quiera conceder acceso.

Al crear o editar una configuración de precompilación para un archivo devcontainer.json que configura el acceso de lectura a otros repositorios con el mismo propietario del repositorio, se te pedirá que concedas estos permisos al hacer clic en Crear o Actualizar. Para más información, consulta Configuración de precompilaciones.

Permitir que una precompilación tenga acceso de escritura a recursos externos

Si el proyecto requiere acceso de escritura a los recursos o si los recursos externos residen en un repositorio con un propietario diferente al del repositorio para el que va a crear una configuración de precompilación, puede usar para personal access token conceder este acceso.

Deberá crear una nueva cuenta personal y, a continuación, usar esta cuenta para crear un personal access token (classic) con los ámbitos adecuados.

  1. Cree una nueva cuenta personal en GitHub.

    Advertencia

    Aunque puede generar el uso de personal access token (classic) su cuenta personal existente, se recomienda encarecidamente crear una nueva cuenta con acceso solo a los repositorios de destino necesarios para su escenario. Esto se debe a que el permiso repository del token de acceso concede acceso a todos los repositorios a los que tiene acceso la cuenta. Para más información, consulta Creación de una cuenta en GitHub y Referencia de uso seguro.

  2. Conceda a la nueva cuenta acceso de lectura a los repositorios necesarios. Para más información, consulta Administrar el acceso de una persona a un repositorio de una organización.

  3. Mientras ha iniciado sesión en la nueva cuenta, cree un personal access token (classic) con el repo ámbito . Opcionalmente, si el precompilación tendrá que descargar paquetes de GitHubContainer registry, seleccione también el read:packages ámbito. Para más información, consulta Administración de tokens de acceso personal.

    Captura de pantalla de las opciones de configuración "Seleccionar ámbitos" para un personal access token (classic), con los ámbitos "repo" y "read:packages" seleccionados.

    Si el precompilado usará un paquete de GitHubContainer registry, deberá conceder a la nueva cuenta acceso al paquete o configurar el paquete para heredar los permisos de acceso del repositorio que está precompilando. Para más información, consulta Configurar la visibilidad y el control de accesos de un paquete.

  4. Haz clic en Configurar SSO y autoriza el token para su uso con el inicio de sesión único (SSO) de SAML, de modo que pueda acceder a los repositorios que pertenecen a organizaciones con SSO habilitado. Para más información, consulta Autorización de un token de acceso personal para su uso con el inicio de sesión único.

    Captura de pantalla de la página "Personal access tokens (classic)". El botón "Configurar SSO" de un PAT está resaltado con un contorno naranja oscuro.

  5. Copie la cadena del token. Esto se asignará a un Codespaces secreto de repositorio.

  6. Vuelva a iniciar sesión en la cuenta que tiene acceso de administrador al repositorio.

  7. En el repositorio para el que desea crear GitHub Codespaces precompilaciones, cree un nuevo Codespaces secreto de repositorio denominado CODESPACES_PREBUILD_TOKEN, lo que le proporciona el valor del token que creó y copió. Para más información, consulta Gestión de configuraciones secretas del entorno de desarrollo para el repositorio u organización.

personal access token se usará para todas las compilaciones previas posteriores creadas para el repositorio. A diferencia de otros Codespaces secretos del repositorio, el CODESPACES_PREBUILD_TOKEN secreto solo se usa para la precompilación y no estará disponible para su uso en los espacios de código creados desde el repositorio.

Información adicional