Skip to main content

Permiso para que una precompilación acceda a otros repositorios

Puede permitir el acceso de la precompilación a otros repositorios de GitHub 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 obtener más información, vea «Selección de quién posee y paga los codespaces de una organización» y «Planes de GitHub».

Predeterminadamente, el flujo de trabajo de GitHub Actions para una configuración de compilación previa solo puede acceder al contenido de su propio repositorio. Es posible que el proyecto use recursos adicionales, ubicados en otro lugar, para compilar el entorno de desarrollo.

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

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

Notas:

  • 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 va a crear una configuración de precompilación para octo-org/octocatrepository, podrá conceder permisos de lectura para otros repositorios, como asocto-org/octodemo, si se especifica en el archivo devcontainer.json y siempre que usted mismo cuente con 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 obtener más información, vea «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 un personal access token para conceder este acceso.

Tendrás que crear una cuenta personal y, después, usarla para crear un personal access token (classic) con los ámbitos adecuados.

  1. Cree una cuenta personal en GitHub.

    Advertencia: Aunque puedes generar el personal access token (classic) con la cuenta personal existente, se recomienda crear una con acceso solo a los repositorios de destino necesarios para el 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 obtener más información, vea «Creación de una cuenta en GitHub» y «Fortalecimiento de seguridad para GitHub Actions».

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

  3. Mientras estés conectado a la nueva cuenta, crea un personal access token (classic) con el ámbito repo. Opcionalmente, si la precompilación tiene que descargar paquetes de GitHub Container registry, seleccione también el ámbito read:packages. Para obtener más información, vea «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 en la precompilación se va a usar un paquete de GitHub Container registry, tendrá que conceder a la nueva cuenta acceso al paquete, o bien configurar el paquete para heredar los permisos de acceso del repositorio que se va a precompilar. Para obtener más información, vea «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 obtener más información, vea «Autorizar un token de acceso personal para usar con un inicio de sesión único de SAML».

    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. Lo asignará a un secreto de repositorio de Codespaces.

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

  7. En el repositorio para el que quieres crear precompilaciones de GitHub Codespaces, crea un secreto de repositorio de Codespaces con el nombre CODESPACES_PREBUILD_TOKEN y asígnale el valor del token que has creado y copiado. Para obtener más información, vea «Administración de secretos del entorno de desarrollo para el repositorio o la organización».

El personal access token se usará para todas las precompilaciones posteriores creadas para el repositorio. A diferencia de otros secretos de repositorio de Codespaces, el secreto CODESPACES_PREBUILD_TOKEN solo se usa para la precompilación y no estará disponible para usarlo en los codespaces creados desde el repositorio.

Información adicional