Dépannage des tests qui échouent localement mais réussissent en CI
Si vous exécutez des tests localement et obtenez des échecs dans tests/rendering/server.ts concernant les ressources statiques, les feuilles de style ou le bundle JavaScript côté client, mais que les mêmes tests réussissent en CI sur une 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 en attente sur l’environnement de staging
Si un déploiement sur l’environnement de staging est en attente depuis plus de dix minutes, essayez de fermer votre pull request (sans supprimer la branche) puis de la rouvrir. Cela déclenchera un nouveau déploiement sur l’environnement de staging. Ça ne cassera rien.
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 sur l’environnement de staging
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 staging affichera simplement une erreur « Oups », mais le serveur local devrait afficher une trace de pile pour le débogage.
Si vous voyez une erreur similaire à celle ci-dessous, assurez-vous que les apostrophes simples sont correctement échappées dans le frontmatter. En outre, vérifiez la mise en forme dans les blocs redirect_from. Pour plus d’informations, consultez « Utilisation du frontmatter 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:
^
Vérification des liens internes
Le test « Link Checker : On PR » signale les liens cassés sur le site, y compris les 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é à une version différente de GitHub Docs, incluez la version dans le chemin d’accès pour empêcher l’URL de se convertir automatiquement en ajoutant un numéro de version de GitHub Enterprise Server. L’exemple suivant montre comment lier à partir d’un article GitHub Enterprise Server à une version Gratuite, Pro et Team d’un article.
[{{ 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.
| Champ | Description |
|---|---|
productVersions | Affiche ce que le site analyse à partir du corps de texte productVersions. |
permalinks | Affiche toutes les permaliens que le site génère pour la page. |
redirect_from | Affiche les redirections codées en dur dans leredirect_fromfrontmatter. |
redirects | Affiche toutes les redirections que le site génère pour la page. |
includesPlatformSpecificContent | Indique 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 {% raw %} et {% 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 }}$