Solución de problemas de pruebas que fallan localmente, pero pasan en CI
Si ejecuta pruebas localmente y obtiene errores en tests/rendering/server.ts relacionados con recursos estáticos, hojas de estilo o el bundle de JavaScript del lado del cliente, pero las mismas pruebas se superan en la CI al hacer un PR, ejecute el comando npm run build. Se trata de un comando único que crea recursos estáticos localmente.
Para más información, consulta Creación de un entorno local.
Solución de problemas de despliegues en etapa de preparación detenidos
Si una implementación de preparación está pendiente durante más de diez minutos, intente cerrar el pull request (sin eliminar la rama) y luego vuelva a abrirlo. Esto desencadenará una nueva implementación de ensayo. No romperá nada.
Si eso no funciona, use los comandos siguientes para desencadenar una nueva implementación de ensayo mediante la inserción de una confirmación vacía en la línea de comandos.
git commit --allow-empty -m 'empty commit to redeploy staging'
git push
Solución de problemas de CI estancados, detenidos o bloqueados
Si las pruebas están bloqueadas en "En curso" o "Pendiente" durante más de una hora, use los comandos siguientes para volver a ejecutar CI insertando una confirmación vacía en la línea de comandos.
git commit --allow-empty -m 'empty commit to rerun CI'
git push
Solución de problemas de servidor local
Si está ejecutando npm start y recibe un error Cannot find module, pruebe el siguiente comando antes de reiniciar el servidor.
npm install
Si eso no soluciona el problema, use el siguiente comando para quitar el directorio node_modules y volver a instalarlo.
rm -rf node_modules
npm install
Solución de problemas de almacenamiento provisional
Si tiene problemas con el servidor de pruebas, podrá ver más información sobre el error en su navegador o en la terminal si ejecuta el sitio localmente. Revisa tu rama en tu entorno local y utiliza el siguiente comando para arrancar el servidor local.
npm start
Cuando el servidor se esté ejecutando, vaya al artículo problemático en https://localhost:4000 en el explorador. El servidor de pruebas solo mostrará un error de "Oops", pero el servidor local mostrará un rastreo de pila para la depuración.
Si ve un error similar al siguiente, asegúrese de que las comillas simples se escapen correctamente en el texto preliminar. Además, compruebe el formato en bloques redirect_from. Para más información, consulta Usar el texto preliminar de 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:
^
Comprobación de vínculos internos
La prueba "Verificador de Enlaces: On PR" informa sobre los enlaces rotos en el sitio, incluidas las imágenes. Si hay vínculos rotos, se producirá un error en la prueba y la vista de detalles de la prueba mostrará errores TitleFromAutotitleError, que simplemente notifican la dirección URL del vínculo roto o un informe más descriptivo que también muestra la página que contiene el vínculo roto.
Si el error no incluye la ubicación del vínculo roto, deberá buscar en el repositorio el vínculo roto docs para encontrar el archivo.
Cuando busque el vínculo roto, asegúrese de que el vínculo tiene una versión correcta. Por ejemplo, si el artículo solo existe para la versión 3.8 de GHES o posterior, asegúrese de que el vínculo esté versionado para la 3.8 o posterior.
Si un artículo que está disponible para GitHub Enterprise Server vincula a una versión diferente de GitHub Docs, incluya la versión en la ruta de acceso para evitar que la dirección URL se convierta automáticamente para incluir un número de versión de GitHub Enterprise Server. En el siguiente ejemplo, se muestra cómo vincular desde un artículo de GitHub Enterprise Server a las versiones Free, Pro y Team de un artículo.
[{{ 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/)"
Depuración local
Durante el desarrollo, puede visitar cualquier página de http://localhost:4000 y agregar ?json=page al final de la ruta para mostrar datos subyacentes que podrían ser útiles para la depuración. Además de información básica como título e introducción, estos son algunos campos que pueden ser útiles.
| Campo | Descripción |
|---|---|
productVersions | Muestra lo que el sitio analiza del texto preliminar de productVersions. |
permalinks | Muestra todos los vínculos permanentes que el sitio está generando para la página. |
redirect_from | Muestra los redireccionamientos codificados de forma codificada en el texto preliminar de redirect_from. |
redirects | Muestra todas las redirecciones que el sitio está generando para la página. |
includesPlatformSpecificContent | Muestra si el sitio detecta contenido específico de la plataforma en la página. |
Trabajar con procesamiento de líquidos
Si el texto o el ejemplo de código incluye contenido entre corchetes ({ y }), debe encapsularlo entre etiquetas {% raw %} y {% raw %} para deshabilitar el procesamiento Liquid para esa sección. Por ejemplo:
-
**Use:**GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} -
**Evitar:**GITHUB_TOKEN: $${{ secrets.GITHUB_TOKEN }}$