Skip to main content

Résolution des problèmes liés aux prébuilds

Vous pouvez utiliser des prébuilds pour accélérer la création des codespaces. Cet article indique les étapes à suivre pour résoudre les problèmes courants relatifs aux prébuilds.

Pour plus d’informations sur les prébuilds GitHub Codespaces, consultez AUTOTITLE.

Vérifier si un codespace a été créé à partir d'une précompilation ?

Lorsque vous créez un codespace, vous pouvez choisir le type de machine virtuelle que vous souhaitez utiliser. Si une précompilation est disponible pour le type de machine virtuelle, « Précompilation prête » s’affiche à côté.

Capture d’écran d'une liste des types de machines disponibles : 2, 4, 8, 16 et 32 cœurs, tous étiquetés « Prêt à l'emploi ».

Si vous avez défini votre éditeur GitHub Codespaces favori sur « Visual Studio Code pour le Web », la page « Configuration de votre codespace » affiche le message « Codespace prédéfini trouvé » si une prébuild est utilisée.

Capture d’écran de la page « Configuration de votre codespace », avec le texte : « Codespace prédéfini trouvé. Téléchargement de l’image. »

De même, si votre éditeur favori est « VS Code », le terminal intégré affiche le message « Vous êtes sur un codespace prédéfini par la configuration de prébuild de votre référentiel » lorsque vous créez un codespace. Pour plus d’informations, consultez « AUTOTITLE ».

Après avoir créé un codespace, vous pouvez vérifier s’il a été créé à partir d’une prébuild en exécutant la commande GitHub CLI suivante dans le terminal :

Shell
gh api /user/codespaces/$CODESPACE_NAME --jq .prebuild

Cette commande renvoie une valeur si le codespace a été créé grâce à un prébuild.

Si GitHub CLI () n’est pas installé, vous pouvez utiliser la commande suivante, qui renvoie si l'espace de code a été créé à partir d'une pré-construction :

Shell
cat /workspaces/.codespaces/shared/environment-variables.json | jq '.ACTION_NAME'

Vérification de l’utilisation des prébuilds

Vous pouvez vérifier si un dépôt utilise des prébuilds dans la page « Codespaces » des paramètres du dépôt.

Vous pouvez vérifier la quantité d’espace de stockage consommée par les prébuilds dans votre cycle de facturation actuelle en consultant les données de facturation de votre compte personnel ou d’organisation. Vous pouvez également générer un rapport d’utilisation pour voir quels dépôts utilisent des prébuilds. Pour plus d’informations, consultez « AUTOTITLE ».

L’étiquette « Prébuild prête » est parfois manquante

Vous remarquerez peut-être que parfois, lorsque vous créez un nouveau codespace à partir d’une branche compatible avec le prebuild, l’étiquette «  Prebuild prêt » n’apparaît pas dans la boîte de dialogue permettant de choisir un type de machine. Cela signifie que les prébuilds ne sont pas encore disponibles.

Par défaut, chaque fois que vous effectuez un push vers une branche avec précompilation, celle-ci est mise à jour. Si l’envoi (push) implique une modification de la configuration du conteneur de développement, alors que la mise à jour est en cours, l’étiquette « prêt pour la préconstruction » est supprimée de la liste des types de machines. Pendant ce temps, vous pouvez toujours créer des codespaces sans prébuild. Si nécessaire, vous pouvez réduire le nombre d'occasions où les prébuilds ne sont pas disponibles pour un référentiel en configurant la prébuild pour qu’elle soit uniquement mise à jour lorsque vous apportez une modification aux fichiers de configuration de votre conteneur de développement, ou uniquement selon une planification personnalisée. Pour plus d’informations, consultez « AUTOTITLE ».

Si votre branche n’est pas spécifiquement activée pour les prébuilds, elle peut tout de même bénéficier de prébuilds si elle a été créée à partir d’une branche avec prébuilds activés. Toutefois, si la configuration du conteneur de développement est modifiée sur votre branche et que sa configuration est différente sur la branche de base, les prébuilds ne sont plus disponibles sur votre branche.

Voici les éléments à vérifier si l’étiquette « Prêt pour la pré-construction » n’apparaît pas pour une branche spécifique :

  • Vérifiez qu’une configuration de prébuild existe pour cette branche. Si vous n’êtes pas administrateur de référentiel, vous devez contacter un administrateur de référentiel pour le confirmer.
  • Vérifiez que la configuration de prébuild inclut votre région.
  • Vérifiez si une modification de la configuration du conteneur de développement a récemment été poussée à la branche avec prébuild activé. Si tel est le cas, vous devrez probablement attendre que l'exécution du workflow de prébuild pour cet envoi (push) soit terminée avant que les prébuilds ne redeviennent disponibles.
  • Si aucune modification de configuration n’a été effectuée récemment, accédez à l’onglet Actions de votre référentiel, cliquez sur Codespaces Prebuilds dans la liste des flux de travail, puis vérifiez que les exécutions du workflow de prebuild pour la branche réussissent. Si les dernières exécutions d’un workflow ont échoué et qu’une ou plusieurs de ces exécutions ayant échoué contiennent des modifications apportées à la configuration du conteneur de développement, aucune prébuild ne sera disponible pour la branche associée.

Certaines ressources ne peuvent pas être accessibles dans les codespaces créés avec une prébuild.

Si le fichier de configuration d’une configuration de prébuild spécifie que des autorisations d’accès à d’autres dépôts sont nécessaires, l’administrateur du dépôt est invité à accorder ces autorisations quand il crée ou met à jour la configuration de prébuild. Si l’administrateur n’accorde pas toutes les autorisations demandées, il est possible que des problèmes se produisent dans la prébuild et dans les codespaces créés à partir de cette prébuild. C’est vrai même si l’utilisateur qui crée un codespace basé sur cette prébuild accorde toutes les autorisations lorsqu’il est invité à le faire.

Résolution des problèmes liés aux exécutions de workflow ayant échoué pour les prébuilds

Augmentation de la limite de dépense pour GitHub Actions

Les prébuilds sont créées et mises à jour en utilisant GitHub Actions. Vos workflows de prébuild échouent si vous avez utilisé toutes vos minutes GitHub Actions et atteint votre limite de dépense. Dans ce cas, vous pouvez augmenter votre limite de dépense pour GitHub Actions afin d’autoriser l’exécution des workflows. Pour plus d’informations, consultez « AUTOTITLE ».

Octroi d’autorisations d’accès

Si le fichier de configuration d’une configuration de prébuild est mis à jour pour spécifier que les autorisations d’accès à d’autres dépôts sont nécessaires et qu’un administrateur de dépôt n’a pas été invité à accorder ces autorisations pour la configuration de la prébuild, le workflow de prébuild peut échouer. Essayez de mettre à jour la configuration de prébuild, sans apporter de modifications. Si, lorsque vous cliquez sur Mettre à jour, la page d’autorisations s’affiche, vérifiez que les autorisations demandées sont appropriées et, le cas échéant, autorisez la demande. Pour plus d’informations, consultez « AUTOTITLE » et « AUTOTITLE ».

Si les exécutions de workflow pour une configuration de prébuild échouent, vous pouvez temporairement désactiver la configuration de prébuild en attendant que le problème soit résolu. Pour plus d’informations, consultez « AUTOTITLE ».

Empêcher l’utilisation de prébuilds obsolètes

Par défaut, si le dernier workflow de prebuild échoue, alors une prebuild précédente pour la même combinaison de dépôt, de branche et de fichier de configuration sera utilisée pour créer de nouveaux codespaces. Ce comportement est appelé « optimisation de la précompilation ».

Nous vous recommandons de laisser l’optimisation de la prébuild activée pour garantir la création rapide de codespaces si aucune prébuild à jour n’est disponible. Toutefois, en tant qu’administrateur de dépôt, vous pouvez désactiver l’optimisation de prébuild si vous rencontrez des problèmes avec des codespaces préconstruits en retard par rapport à l’état actuel de la branche. Si vous désactivez l’optimisation de la prébuild, des codespaces pour la combinaison appropriée de dépôt, de branche et de fichier sont créés sans prébuild si le dernier workflow de prébuild a échoué ou est en cours d’exécution.

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Code et automatisation » de la barre latérale, cliquez sur Codespaces.

  4. À droite de la configuration de prébuild affectée, sélectionnez les points de suspension ( ... ), puis cliquez sur Modifier.

    Capture d’écran de la liste déroulante des options prédéfinies avec « Modifier » mis en surbrillance.

  5. Faites défiler la page « Modifier la configuration » jusqu’en bas et cliquez sur Afficher les options avancées.

    Capture d’écran du bas de la page de configuration des prébuilds. Le lien « Afficher les options avancées » est mis en évidence avec un encadré orange foncé.

  6. Si vous êtes sûr de vouloir désactiver le paramètre par défaut, sélectionnez Désactiver l’optimisation de la prébuild.

    Capture d’écran des paramètres « Options avancées ». La case « Désactiver l’optimisation prédéfinie » est cochée. Sous cela se trouve le bouton « Mettre à jour ».

  7. Pour enregistrer votre modification, cliquez sur Mettre à jour.

Pour aller plus loin

  • AUTOTITRE
  • AUTOTITRE