Skip to main content

Restricción de la imagen base para codespaces

Puedes especificar qué imágenes base se pueden usar para los nuevos codespaces creados en tu organización.

Quién puede usar esta característica

To manage image constraints for an organization's codespaces, you must be an owner of the organization.

Las organizaciones que tengan planes de GitHub Team y GitHub Enterprise pueden pagar por la utilizacion de miembros y colaboradores de GitHub Codespaces. Así, las organizaciones podrán acceder a configuraciones y directivas para administrar codespaces pagados por la organización. 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».

Información general

Al crear un codespace, se crea automáticamente un contenedor Docker en una máquina virtual remota. El contenedor Docker se crea a partir de una imagen de Docker. La imagen es básicamente una plantilla para los contenedores Docker y determina muchos aspectos del entorno resultante proporcionado por el codespace.

Puedes elegir qué imagen quieres usar para tus codespaces especificándola en la configuración del contenedor de desarrollo de un repositorio. Puedes hacerlo, por ejemplo, mediante la propiedad image del archivo devcontainer.json.

JSON
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18",

Para obtener más información, consulta la especificación de contenedores de desarrollo en el sitio web de contenedores de desarrollo.

Si no especificas una imagen en la configuración del contenedor de desarrollo de un repositorio, se usa la imagen predeterminada. La imagen predeterminada contiene una serie de versiones en tiempo de ejecución de lenguajes populares y herramientas de uso frecuente. Para obtener más información, vea «Introducción a los contenedores dev».

Como propietario de la organización, puedes agregar una directiva para restringir qué imágenes se pueden usar para los codespaces creados en tu organización.

Si la imagen especificada en la configuración del contenedor de desarrollo no coincide con una de las imágenes permitidas, se muestra el siguiente mensaje cuando alguien intenta crear un codespace para el repositorio:

No se puede crear el codespace: la imagen base "DETALLES DE LA CONFIGURACIÓN DEL CONTENEDOR DE DESARROLLO" no está permitida de acuerdo con una directiva de la organización establecida por el administrador de tu organización.

Notas:

  • La directiva de imagen base solo se aplica cuando se crea un codespace. Actualmente no se aplica cuando se recompila un contenedor. Esto se modificará en una versión futura. Para obtener más información, vea «Ciclo de vida de un codespace».
  • La directiva de imagen base no se aplica a la imagen predeterminada ni a la imagen que se usa para recuperar un codespace si se introduce un error en la configuración de un contenedor de desarrollo que impide que se recompile el contenedor.

Configurar políticas específicas para los repositorios y a lo largo de la organización

Cuando creas una política, eliges si esta aplica a todos los repositorios de tu organización o solo a algunos específicos. Si configuras una política a lo largo de la organización, entonces cualquier política que configures para los repositorios individuales debe de caer dentro de las restricciones que se configuraron a nivel organizacional. La adición de directivas hace que la elección de imágenes sea más restrictiva, no menos.

Por ejemplo, podrías crear una directiva para toda la organización que restrinja la imagen base a una de las 10 imágenes especificadas. Después, puedes establecer una directiva para el repositorio A que restrinja la imagen a un subconjunto compuesto por tan solo dos de las imágenes especificadas a nivel de la organización. Especificar imágenes adicionales para el repositorio A no tendrá ningún efecto, porque estas imágenes no están especificadas en la directiva para toda la organización. Si agregas una directiva a nivel organizacional, deberás establecerla en la mayor selección de imágenes que estará disponible para cualquier repositorio de tu organización. Entonces podrás agregar las políticas específicas para los repositorios y así restringir aún más la elección.

Nota: Las directivas de codespace solo se aplican a los codespaces que paga tu organización. Si alguien crea un codespace para un repositorio de tu organización por su cuenta, dicho codespace no estará sujeto a estas políticas. Para obtener más información, vea «Selección de quién posee y paga los codespaces de una organización».

Adición de una directiva para definir las imágenes permitidas

  1. En la esquina superior derecha de GitHub.com, haga clic en la foto de perfil y luego en Your organizations.

    Captura de pantalla del menú desplegable en la imagen de perfil de @octocat. "Sus organizaciones" se destaca en naranja oscuro.

  2. Junto a la organización, haga clic en Settings.

  3. En la sección "Código, planificación y automatización" de la barra lateral, selecciona Codespaces y, después, haz clic en Directivas.

  4. En la página "Directivas de codespace", haga clic en Crear directiva.

  5. Ingresa un nombre para tu política nueva.

  6. Haz clic en Agregar restricción y elige Imágenes base.

  7. Haz clic en para editar la restricción.

  8. En el campo "Valores permitidos", escribe la dirección URL completa de una imagen que quieras permitir.

    Captura de pantalla de la dirección URL "mcr.microsoft.com/vscode/devcontainers/java" especificada en el campo "Valores permitidos".

    Nota: Debes especificar una URL de imagen que coincida exactamente con el valor especificado en una configuración de contenedor de desarrollo.

  9. Haz clic en para agregar el valor.

  10. Si es necesario, repite los dos pasos anteriores para agregar más direcciones URL de imágenes.

  11. Haz clic fuera del cuadro de diálogo para cerrarlo.

  12. De forma predeterminada, la directiva se establece para aplicarse a todos los repositorios; si deseas que se aplique solo a algunos de los repositorios de la organización, haz clic en Todos los repositorios y, a continuación, haz clic en Repositorios seleccionados en el menú desplegable.

    Captura de pantalla de la lista desplegable de selección del repositorio, en la que se muestran las opciones "Todos los repositorios" y "Repositorios seleccionados".

    Nota: Si vas a agregar una restricción a una directiva que ya contiene la restricción "Máximo de codespaces por usuario", no podrás aplicar la directiva a los repositorios seleccionados. Esto se debe a que la restricción "Máximo de codespaces por usuario" siempre se aplica a todos los repositorios de la organización.

    Con la opción Repositorios seleccionados seleccionada:

    1. Haga clic en .

      Captura de pantalla del icono de configuración (un símbolo de engranaje) a la izquierda de un botón con la etiqueta "Repositorios seleccionados".

    2. Selecciona los repositorios a los cuales quieres que aplique esta política.

    3. En la parte inferior de la lista de repositorios, haga clic en Select repositories.

      Captura de pantalla de una lista de repositorios, cada uno con una casilla. Hay tres repositorios seleccionados.

  13. Si quieres agregar otra restricción a la directiva, haz clic en Agregar restricción y elige otra restricción. Para obtener información sobre otras restricciones, consulta:

  14. Cuando hayas terminado de agregar restricciones a la directiva, haz clic en Guardar.

La directiva se aplica cuando alguien intenta crear un nuevo codespace que se puede facturar a tu organización. La restricción de la imagen base no afecta a los codespaces existentes, ya estén activos o detenidos.

Editar una política

Puedes editar una directiva existente. Por ejemplo, puede que te interese agregar restricciones a una directiva o quitarlas.

  1. Muestra la página de "Políticas del Codespace". Para obtener más información, consulta "Adición de una directiva para definir las imágenes permitidas".
  2. Haz clic en el nombre de la política que quieres editar.
  3. Junto a la restricción "Imágenes base", haz clic en .
  4. Agrega o quita direcciones URL de imágenes.
  5. Haga clic en Save(Guardar).

Borrar una política

  1. Muestra la página de "Políticas del Codespace". Para obtener más información, consulta "Adición de una directiva para definir las imágenes permitidas".

  2. Haz clic en a la derecha de la directiva que quieres eliminar.

    Captura de pantalla de una directiva con el botón Eliminar (icono de papelera) resaltado con un contorno naranja oscuro.