Skip to main content

環境のトラブルシューティング

ローカル環境および GitHub Docs ステージング プラットフォームでの問題のトラブルシューティングについて説明します。

ローカルで失敗しても 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_fromredirect_fromのフロントマッターでハードコーディングされたリダイレクトを表示します。
redirectsサイトがページに対して生成しているすべてのリダイレクトを表示します。
includesPlatformSpecificContentサイトがページ上のプラットフォーム固有のコンテンツを検出するかどうかを示します。

液体処理の操作

テキストまたはコード例に中かっこ ({ および }) の間にコンテンツが含まれている場合は、そのセクションの Liquid 処理を無効にするには、&#123% raw %}&#123% raw %}のタグの間で折り返す必要があります。 次に例を示します。

  • 以下を使用してください。

    GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
    
  • 以下は使いません:

    GITHUB_TOKEN: $${{ secrets.GITHUB_TOKEN }}$