Skip to main content

Définition d’une spécification minimale pour les machines de codespaces

Vous pouvez éviter que les types de machines n’ayant pas suffisamment de ressources soient utilisés pour GitHub Codespaces pour votre dépôt.

Qui peut utiliser cette fonctionnalité ?

People with write permissions to a repository can create or edit the codespace configuration.

Vue d’ensemble

Chaque codespace que vous créez est hébergé sur une machine virtuelle distincte. Quand vous créez un codespace à partir d’un dépôt, vous avez généralement le choix entre différents types de machines virtuelles. Chaque type de machine possède des ressources différentes (cœurs de processeurs, mémoire, stockage). Le type de machine utilisé par défaut est celui qui a le moins de ressources. Pour plus d’informations, consultez « Modification du type de machine pour votre espace de code ».

Si votre projet a besoin d’un certain niveau de puissance de calcul, vous pouvez configurer GitHub Codespaces de sorte que seuls les types de machines satisfaisant à ces exigences puissent être utilisés par défaut ou sélectionnés par les utilisateurs. Cette configuration s’effectue dans un fichier devcontainer.json.

Les codespaces non publiés (codespaces créés à partir d’un modèle qui ne sont pas liés à un dépôt sur GitHub Enterprise Cloud) s’exécutent toujours sur une machine virtuelle avec les mêmes spécifications. Vous ne pouvez pas changer le type d’ordinateur d’un codespace non publié.

Important : L’accès à certains types de machines peut être limité au niveau de l’organisation. En règle générale, cette limite permet d’éviter que les utilisateurs choisissent des machines avec des ressources plus élevées qui sont facturées plus cher. Si votre dépôt fait l’objet d’une stratégie au niveau de l’organisation liée aux types de machines, faites attention de ne pas définir une spécification minimale qui ne permettra pas à vos utilisateurs de sélectionner un type de machine disponible. Pour plus d’informations, consultez « Restriction de l’accès aux types de machines ».

Définition d’une spécification minimale de machine

  1. Vous pouvez configurer les codespaces créés pour votre dépôt en ajoutant des paramètres à un fichier devcontainer.json. Si votre dépôt ne contient pas encore de fichier devcontainer.json, vous pouvez en ajouter un maintenant. Consultez « Ajout d’une configuration de conteneur de développement à votre dépôt ».

  2. Modifiez le fichier devcontainer.json en ajoutant la propriété hostRequirements au niveau supérieur du fichier, dans l’objet JSON englobant. Par exemple :

    JSON
    "hostRequirements": {
       "cpus": 8,
       "memory": "8gb",
       "storage": "32gb"
    }
    

    Vous pouvez spécifier tout ou partie des options suivantes : cpus, memory et storage.

    Pour vérifier les spécifications des types de machines GitHub Codespaces actuellement disponibles pour votre dépôt, suivez le processus de création d’un codespace jusqu’au choix des types de machines. Pour plus d’informations, consultez « Création d’un codespace pour un dépôt ».

  3. Enregistrez le fichier et commitez vos changements dans la branche nécessaire du dépôt.

    Maintenant, quand vous créez un codespace pour cette branche du dépôt et que vous accédez aux options de configuration de création, vous pouvez uniquement sélectionner les types de machines qui correspondent aux ressources que vous avez spécifiées ou qui les dépassent.

    Capture d’écran d’une liste de types d’ordinateurs. Les options 2 et 4 cœurs sont étiquetées « En dessous des exigences de conteneur de développement ».

Pour aller plus loin