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:
^
Vérification des liens internes
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.
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 le frontmatter redirect_from . |
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 }}$