ローカルで失敗しても CI に合格するテストのトラブルシューティング
テストをローカルで実行し、静的アセット、スタイルシート、またはクライアント側 JavaScript バンドルで tests/rendering/server.js エラーが発生しても、同じテストが PR で CI に合格する場合は、コマンドを実行します npm run build。 これは、静的アセットをローカルに作成する 1 回限りのコマンドです。
詳しくは、「ローカル環境の作成」をご覧ください。
ストールしているステージング展開のトラブルシューティング
ステージング展開が 10 分以上保留中の場合は、プル要求を閉じて (ブランチを削除せずに) 再度開いてみてください。 これにより、新しいステージング展開が開始されます。 何も壊れることはありません。
それでも問題が解決しない場合は、次のコマンドを使用して、コマンド ラインで空のコミットをプッシュすることで、新しいステージング展開をトリガーします。
git commit --allow-empty -m 'empty commit to redeploy staging'
git push
CI のストールまたはスタックのトラブルシューティング
テストが "進行中" または "保留中" で 1 時間以上停止している場合は、次のコマンドを使用して、コマンド ラインで空のコミットをプッシュして 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ブロック単位で書式設定を確認します。 詳しくは、「YAML front matter の使用」をご覧ください。
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 "テストは、画像を含むサイト上のリンク切れを報告します。 リンク切れがある場合、テストは失敗し、テストの詳細ビューには、リンク切れの URL を報告するだけの TitleFromAutotitleError エラーか、リンク切れのページを含むより詳細なレポートが表示されます。
エラーにリンク切れの場所が含まれていない場合は、リンク切れのファイルを見つけるためにdocsリポジトリを検索する必要があります。
壊れたリンクを見つけたら、リンクが正しくバージョン管理されていることを確認します。 たとえば、記事が GHES バージョン 3.8 以降にのみ存在する場合は、リンクのバージョンが 3.8 以降であることを確認します。
GitHub Enterprise Server で利用可能な記事が GitHub Docs の別のバージョンにリンクしている場合、URLが自動的に GitHub Enterprise Server のバージョン番号を含むように変換されるのを防ぐには、パスにバージョンを含めます。 次の例では、GitHub Enterprise Server の記事から、Free, 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を追加することができます。 タイトルやイントロなどの基本情報に加えて、役立つフィールドがいくつかあります。
| フィールド | 説明 |
|---|---|
productVersions | サイトがproductVersionsのフロントマッターから解析している内容を示します。 |
permalinks | サイトがページ用に生成しているすべてのパーマリンクを表示します。 |
redirect_from | redirect_fromのフロントマッターでハードコーディングされたリダイレクトを表示します。 |
redirects | サイトがページに対して生成しているすべてのリダイレクトを表示します。 |
includesPlatformSpecificContent | サイトがページ上のプラットフォーム固有のコンテンツを検出するかどうかを示します。 |
液体処理の操作
テキストまたはコード例に中かっこ ({ および }) の間にコンテンツが含まれている場合は、そのセクションの Liquid 処理を無効にするには、{% raw %}と{% raw %}のタグの間で折り返す必要があります。 次に例を示します。
-
以下を使用してください。
GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} -
以下は使いません:
GITHUB_TOKEN: $${{ secrets.GITHUB_TOKEN }}$