Vue d’ensemble
En règle générale, quand vous créez un codespace, vous pouvez choisir les spécifications de la machine qui va l’exécuter. Vous pouvez choisir le type de machine qui convient le mieux à vos besoins. Pour plus d’informations, consultez « Création d’un codespace pour un dépôt ».
Si vous payez l’utilisation de GitHub Codespaces, le type de machine que vous choisissez a des répercussions sur le montant facturé. Le coût de calcul d’un codespace est proportionnel au nombre de cœurs de processeur dans le type de machine que vous choisissez. Par exemple, le coût de calcul de l’utilisation d’un codespace pendant une heure sur une machine à 16 cœurs est huit fois supérieur à celui d’une machine à 2 cœurs. Pour plus d’informations sur la tarification, consultez À propos de la facturation pour GitHub Codespaces.
En tant que propriétaire d’une organisation, vous pouvez avoir envie de configurer des contraintes sur les types de machines disponibles. Par exemple, si le travail au sein de votre organisation ne nécessite pas de puissance de calcul ni d’espace de stockage importants, vous pouvez supprimer les machines à fortes ressources de la liste des options sélectionnables. Pour cela, définissez une ou plusieurs stratégies dans les paramètres GitHub Codespaces de votre organisation.
Comportement quand vous définissez une contrainte de type de machine
S’il existe des codespaces qui ne sont plus conformes à une stratégie que vous avez définie, ils continuent de fonctionner jusqu’à ce qu’ils soient arrêtés ou qu’ils aient expiré. Quand l’utilisateur essaie de reprendre un tel codespace, un message lui indique que le type de machine actuellement sélectionné n’est plus autorisé pour cette organisation et l’invite à en choisir un autre.
Si vous supprimez des types de machines dont les spécifications sont supérieures et qui sont exigés par la configuration GitHub Codespaces d’un dépôt individuel dans votre organisation, il n’est pas possible de créer un codespace pour ce dépôt. Quand vous essayez de créer un codespace, un message vous indique qu’il n’existe aucun type de machine valide disponible qui répond aux exigences de la configuration GitHub Codespaces du dépôt.
Note
Toute personne pouvant modifier le fichier de configuration devcontainer.json
dans un référentiel peut définir une spécification minimale pour les machines utilisables pour les codespaces pour ce référentiel. Pour plus d’informations, consultez « Définition d’une spécification minimale pour les machines de codespaces ».
Si la définition d’une stratégie pour des types de machines vous empêche d’utiliser GitHub Codespaces pour un dépôt particulier, vous avez deux possibilités :
- Vous pouvez ajuster vos stratégies pour supprimer spécifiquement les restrictions du dépôt concerné.
- Toute personne qui a un codespace auquel elle ne peut plus accéder, en raison de la nouvelle stratégie, peut exporter son codespace vers une branche. Cette branche va contenir tous les changements que la personne apporte au codespace. Cette dernière peut alors ouvrir un nouveau codespace sur cette branche avec un type de machine conforme ou travailler sur cette branche localement. Pour plus d’informations, consultez « Exportation de modifications vers une branche ».
Définition de stratégies spécifiques d’un dépôt à l’échelle de l’organisation
Quand vous créez une stratégie, vous choisissez si elle s’applique à tous les dépôts de votre organisation ou uniquement aux dépôts spécifiés. Si vous définissez une stratégie à l’échelle de l’organisation, alors toutes les stratégies que vous définissez pour des dépôts individuels doivent s’inscrire dans cet ensemble de restrictions au niveau de l’organisation. L’ajout de stratégies rend le choix du type de machine plus restrictif, et non moins restrictif.
Par exemple, vous pouvez créer une stratégie à l’échelle de l’organisation qui limite les types de machines à 2 ou 4 cœurs. Vous pouvez ensuite définir une stratégie pour le dépôt A qui les limite à seulement 2 cœurs. Si vous définissez une stratégie pour le dépôt A qui le limite à des machines dotées de 2, 4 ou 8 cœurs, vous pouvez uniquement choisir des machines à 2 et 4 cœurs, car la stratégie à l’échelle de l’organisation empêche l’accès à des machines à 8 cœurs.
Si vous ajoutez une stratégie à l’échelle de l’organisation, vous devez la définir sur le plus grand choix possible de types de machines disponibles pour un dépôt au sein de votre organisation. Vous pouvez ensuite ajouter des stratégies plus précises pour un dépôt afin de restreindre encore ce choix.
Remarque : les stratégies relatives aux codespaces s’appliquent uniquement aux codespaces pour lesquels votre organisation est facturée. Si un utilisateur crée à ses propres frais un codespace pour un référentiel au sein de votre organisation, ce codespace ne sera pas soumis à ces politiques. Pour plus d’informations, consultez « Choisir qui possède et achète les codespaces dans votre organisation ».
Ajout d’une stratégie pour limiter les types de machines disponibles
-
Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.
-
En regard de l’organisation, cliquez sur Paramètres.
-
Dans la section « Code, planification et automatisation » de la barre latérale, sélectionnez Codespaces , puis cliquez sur Stratégies.
-
Dans la page « Stratégies de codespaces », cliquez sur Créer une stratégie.
-
Entrez un nom pour votre nouvelle stratégie.
-
Cliquez sur Ajouter une contrainte et choisissez Types de machines.
-
Cliquez sur pour modifier la contrainte, puis effacez la sélection des types de machines que vous ne voulez pas rendre disponibles.
-
Cliquez en dehors de la boîte de dialogue pour la fermer.
-
Par défaut, la stratégie est définie pour s’appliquer à tous les dépôts. Si vous souhaitez qu’elle s’applique uniquement à certains des dépôts de votre organisation, cliquez sur Tous les dépôts, puis sur Dépôts sélectionnés dans le menu déroulant.
Remarque : si vous ajoutez une contrainte à une stratégie existante contenant déjà la contrainte « Nombre maximal de codespaces par utilisateur », vous ne pourrez pas appliquer la stratégie aux référentiels sélectionnés. En effet, la contrainte « Nombre maximal de codespaces par utilisateur » s’applique toujours à tous les référentiels de l’organisation.
Avec le choix Dépôts sélectionnés :
-
Cliquez sur .
-
Sélectionnez les dépôts auxquels vous souhaitez appliquer cette stratégie.
-
En bas de la liste des dépôts, cliquez sur Sélectionner des dépôts.
-
-
Pour ajouter une autre contrainte à la stratégie, cliquez sur Ajouter une contrainte et choisissez une autre contrainte. Pour plus d'informations sur les autres contraintes, consultez :
- « Restriction du nombre de codespaces facturés à une organisation qu’un utilisateur peut créer »
- « Restriction de l’image de base pour les codespaces »
- « Restriction de la visibilité des ports transférés »
- « Restriction de la période du délai d'inactivité »
- « Restriction de la période de conservation pour les codespaces »
-
Une fois que vous avez terminé d'ajouter des contraintes à votre stratégie, cliquez sur Enregistrer.
La stratégie sera appliquée à tous les nouveaux codespaces facturables à votre organisation. La contrainte de type de machine est également appliquée aux codespaces existants quand une personne tente de redémarrer un codespace arrêté ou de se reconnecter à un codespace actif.
Modification d’une stratégie
Vous pouvez modifier une stratégie existante. Par exemple, vous avez peut-être besoin d'ajouter ou de supprimer des contraintes dans une stratégie.
- Affichez la page « Stratégies de codespaces ». Pour plus d’informations, consultez « Ajout d’une stratégie pour limiter les types de machines disponibles ».
- Cliquez sur le nom de la stratégie à modifier.
- À côté de la contrainte « Types de machines », cliquez sur .
- Apportez les changements nécessaires, puis cliquez sur Enregistrer.
Suppression d'une stratégie
-
Affichez la page « Stratégies de codespaces ». Pour plus d’informations, consultez « Ajout d’une stratégie pour limiter les types de machines disponibles ».
-
Cliquez sur à droite de la stratégie que vous souhaitez supprimer.