Skip to main content

Résolution des problèmes de votre environnement

Découvrez comment résoudre les problèmes dans votre environnement local et dans la plateforme de mise en lots GitHub Docs.

Dépannage des tests qui échouent localement mais passent dans CI

Si vous exécutez des tests localement et obtenez des échecs dans tests/rendering/server.js au niveau des ressources statiques, des feuilles de style ou de regroupement JavaScript côté client, mais que les mêmes tests passent dans CI sur un PR, exécutez la commande npm run build. Il s’agit d’une commande unique qui crée des ressources statiques localement.

Pour plus d’informations, consultez « Création d’un environnement local ».

Dépannage des déploiements de mise en lots bloqués

Si un déploiement par mise en lots est en attente pendant plus de dix minutes, essayez de fermer votre demande de tirage (pull request) (sans supprimer la branche) et de la rouvrir. Vous déclencherez ainsi un nouveau déploiement par mise en lots. Il ne mettra aucune action en pause.

Si cette méthode ne fonctionne pas, utilisez les commandes ci-dessous pour déclencher un nouveau déploiement par mise en lots en envoyant une validation vide sur la ligne de commande.

git commit --allow-empty -m 'empty commit to redeploy staging'
git push

Dépannage des CI bloqués ou en panne

Si vos tests sont bloqués sur « En cours » ou « En attente » pendant plus d’une heure, utilisez les commandes ci-dessous pour réexécuter CI en envoyant une validation vide sur la ligne de commande.

git commit --allow-empty -m 'empty commit to rerun CI'
git push

Dépannage des problèmes liés au serveur local

Si vous exécutez npm start et obtenez une erreur Cannot find module, essayez la commande suivante avant de redémarrer le serveur.

npm install

Si le problème n’est pas résolu, utilisez la commande suivante pour supprimer l'annuaire node_modules et réinstaller.

rm -rf node_modules
npm install

Dépannage des problèmes de mise en lots

Si vous rencontrez des problèmes avec le serveur de mise en lots, vous devez visualiser plus d’informations sur l’erreur dans votre navigateur ou sur la ligne de commande si vous exécutez le site localement. Consultez votre branche localement et utilisez la commande suivante pour lancer le serveur local.

npm start

Quand le serveur est en cours d’exécution, accédez à l’article problématique sur https://localhost:4000 dans votre navigateur. Le serveur de mise en lots affichera simplement une erreur « Oops », mais le serveur local doit afficher une arborescence des appels de procédure pour le débogage.

Si vous obtenez une erreur semblable à celle ci-dessous, assurez-vous que les guillemets simples sont correctement insérés dans le corps du texte. En outre, vérifiez la mise en forme dans les blocs redirect_from. Pour plus d’informations, consultez « Utilisation des informations préliminaires YAML ».

error parsing file: /Users/z/git/github/docs/content/dotcom/articles/troubleshooting-custom-domains-and-github-pages.md
(node:89324) UnhandledPromiseRejectionWarning: YAMLException: can not read a block mapping entry; a multiline key may not be an implicit key at line 4, column 14:
    redirect_from:
                 ^

Le test « Vérificateur de liens : sur PR » signale des liens rompus sur le site, y compris des images. S’il existe des liens rompus, le test échoue et l’affichage des détails du test affiche les erreurs TitleFromAutotitleError, qui signalent simplement l’URL du lien rompu ou un rapport plus descriptif qui répertorie également la page contenant le lien rompu.

Si l’erreur n’inclut pas l’emplacement du lien rompu, vous devez rechercher dans le référentiel docs le lien rompu pour retrouver le fichier.

Quand vous localisez le lien rompu, vérifiez que le lien est correctement versionné. Par exemple, si l’article existe uniquement pour GHES version 3.8+, vérifiez que le lien est versionné pour la version 3.8+.

Si un article disponible pour GitHub Enterprise Server est lié à un article GitHub.com uniquement, incluez la version dans le chemin d’accès pour empêcher la conversion automatique de l’URL en incluant un numéro de version GitHub Enterprise Server. L’exemple suivant montre comment lier un article GitHub Enterprise Server à un article GitHub.com uniquement.

[{{ data variables.product.prodname_github_connect }} Addendum to the {{ data variables.product.prodname_enterprise }} License Agreement](/free-pro-team@latest/articles/github-connect-addendum-to-the-github-enterprise-license-agreement/)"

Débogage local

Pendant le développement, vous pouvez visiter n’importe quelle page sur http://localhost:4000 et ajouter ?json=page à la fin du chemin d’accès pour afficher certaines informations sous-jacentes pouvant être utiles au débogage. En plus des informations de base telles que le titre et l’introduction, ci-après sont présentés quelques champs qui peuvent être utiles.

ChampDescription
productVersionsAffiche ce que le site analyse à partir du corps de texte productVersions.
permalinksAffiche toutes les permaliens que le site génère pour la page.
redirect_fromAffiche les redirections codées en dur dans le frontmatter redirect_from.
redirectsAffiche toutes les redirections que le site génère pour la page.
includesPlatformSpecificContentIndique si le site détecte tout contenu spécifique à la plateforme sur la page.

Travail avec le traitement des liquides

Si votre texte ou exemple de code comprend du contenu entre des crochets ({ et }), vous devez l’envelopper entre les balises &#123% raw %} et &#123% raw %} pour désactiver le traitement Liquid pour cette section. Par exemple :

  • Utiliser :

    GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
    
  • Éviter :

    GITHUB_TOKEN: $${{ secrets.GITHUB_TOKEN }}$