Устранение неполадок тестов, которые завершаются локально, но передаются в CI
Если тесты выполняются локально и получают сбои в tests/rendering/server.js
статических ресурсах, таблицах стилей или пакете JavaScript на стороне клиента, но те же тесты передаются в CI на pr, выполните команду npm run build
. Это однократная команда, которая создает статические ресурсы локально.
Дополнительные сведения см. в разделе Создание локальной среды.
Устранение неполадок, связанных с промежуточными развертываниями
Если промежуточное развертывание ожидается более десяти минут, попробуйте закрыть запрос на вытягивание (без удаления ветви) и повторно открыть его. Это приведет к запуску нового промежуточного развертывания. Он ничего не сломает.
Если это не работает, используйте приведенные ниже команды, чтобы активировать новое промежуточное развертывание путем отправки пустой фиксации в командной строке.
git commit --allow-empty -m 'empty commit to redeploy staging'
git push
Устранение неполадок с зависанием или зависанием CI
Если тесты зависают на "Выполняется" или "Ожидание" более часа, используйте приведенные ниже команды для повторного запуска CI путем отправки пустой фиксации в командной строке.
git commit --allow-empty -m 'empty commit to rerun CI'
git push
Устранение неполадок локального сервера
Если вы работаете npm start
и получаете ошибку, попробуйте выполнить следующую Cannot find module
команду перед перезапуском сервера.
npm install
Если проблема не устранена, используйте следующую команду, чтобы удалить node_modules
каталог и переустановить его.
rm -rf node_modules
npm install
Устранение проблем промежуточного хранения
Если у вас возникли проблемы с промежуточным сервером, вы увидите дополнительные сведения об ошибке в браузере или в командной строке при локальном запуске сайта. Ознакомьтесь с вашей ветвью локально и выполните следующую команду, чтобы запустить локальный сервер.
npm start
При запуске сервера перейдите к проблемной статье https://localhost:4000
в браузере. Промежуточный сервер просто отобразит ошибку "Oops", но локальный сервер должен отображать трассировку стека для отладки.
Если вы видите ошибку, аналогичную приведенной ниже, убедитесь, что одиночные кавычки правильно экранируются в интерфейсном элементе. Кроме того, проверьте форматирование в redirect_from
блоках. Дополнительные сведения см. в разделе Использование 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:
^
Проверка внутренних ссылок
Тест "Проверка ссылок: на PR" сообщает о неисправных ссылках на сайте, включая изображения. Если есть неработающие ссылки, тест завершится сбоем, и представление сведений теста отобразит либо TitleFromAutotitleError
ошибки, которые просто сообщают URL-адрес сломанной ссылки, либо более описательный отчет, который также содержит страницу, содержащую сломанную ссылку.
Если ошибка не включает расположение сломанной ссылки, необходимо выполнить поиск docs
в репозитории для поиска файла.
При обнаружении неработаемой ссылки убедитесь, что ссылка правильно настроена. Например, если статья существует только для GHES версии 3.8+, убедитесь, что ссылка доступна для версии 3.8+.
Если статья, доступная для GitHub Enterprise Server, ссылается на другую версию GitHub Docs, добавьте версию в путь, чтобы предотвратить автоматическое преобразование URL-адреса, чтобы включить номер версии GitHub Enterprise Server . В следующем примере показано, как связать из статьи GitHub Enterprise Server с бесплатной версией статьи, Pro и Team.
[{{ 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/)"
Локальная отладка
Во время разработки можно посетить любую страницу http://localhost:4000
и добавить ?json=page
в конец пути, чтобы отобразить некоторые базовые сведения, которые могут оказаться полезными для отладки. Помимо основных сведений, таких как название и введение, это несколько полей, которые могут быть полезны.
Поле | Description |
---|---|
productVersions | Показывает, что сайт анализирует из productVersions frontmatter. |
permalinks | Отображает все перемычки, создаваемые сайтом для страницы. |
redirect_from | Отображает жестко закодированные перенаправления в интерфейсном элементе redirect_from . |
redirects | Отображает все перенаправления, создаваемые сайтом для страницы. |
includesPlatformSpecificContent | Показывает, обнаруживает ли сайт любое содержимое для конкретной платформы на странице. |
Работа с обработкой жидкости
Если в примере текста или кода содержится содержимое между фигурными скобками ({
и }
), необходимо упаковать его между {% raw %}
тегами, {% raw %}
чтобы отключить обработку Liquid для этого раздела. Например:
-
Используйте:
GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
-
Избегайте:
GITHUB_TOKEN: $${{ secrets.GITHUB_TOKEN }}$