ローカルで失敗しても 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 }}$