ローカルで失敗しても 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 以降であることを確認します。
data variables.product.prodname_ghe_server %}で利用可能なアーティクルがGitHub.comのみのアーティクルにリンクしている場合、GitHub Enterprise Serverのバージョン番号を含むようにURLが自動的に変換されるのを防ぐために、パスにバージョンを含めてください。 次の例では、GitHub Enterprise Server 記事から GitHub.com のみの記事にリンクする方法を示します。
[{{ 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 }}$