Skip to main content
ドキュメントには� �繁に更新が� えられ、その都度公開されています。本ページの翻訳はま� 未完成な部分があることをご了承く� さい。最新の情� �については、英語のドキュメンテーションをご参照く� さい。本ページの翻訳に問題がある� �合はこちらまでご連絡く� さい。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

CIシステ� でのCodeQLランナーのトラブルシューティング

CodeQLランナー で問題が生じている� �合、ここに掲載されているヒントを使ってトラブルを解決できます。

Code scanning is available for organization-owned repositories where GitHub Advanced Security is enabled. 詳しい情� �については、「GitHub Advanced Security について」を参照してく� さい。

Note: The CodeQLランナー is being deprecated. On GitHub Enterprise Server 3.0 and greater, you can install CodeQL CLI version 2.6.3 to replace CodeQLランナー.

For more information, see the CodeQL runner deprecation. CodeQL CLIへの移行に関する情� �については「CodeQLランナーからCodeQL CLIへの移行」を参照してく� さい。

init コマンドに時間がかかりすぎる

CodeQLランナー は、コードのビルドと解析を行う前に、CodeQL CLI と CodeQL ライブラリを含んでいる CodeQL バンドルへのアクセス権が必要です。

お使いのマシンで CodeQLランナー を初めて使用する際、init コマンドは CodeQL バンドルをマシンにダウンロードします。 ダウンロードには数分かかります。 CodeQL バンドルは次の実行の前にキャッシュされるので、CodeQLランナー を同じマシンで再度使用する際は、CodeQL バンドルを再ダウンロードすることはありません。

この自動ダウンロードを回避するには、CodeQL バンドルをマシンに手動でダウンロードし、init コマンドの --codeql-path フラグでパスを指定します。

ビルド中にコードが見つからない

CodeQLランナー の analyze コマンドで、No source code was seen during the build というエラーが出て失敗する� �合、CodeQL がコードをモニターできなかったことを示しています。 このようなエラーが発生する理由として、次のようなものがあります。

  1. 自動言語検出により、サポートされている言語が特定されたが、リポジトリにその言語の分析可能なコードがない。 一般的な例としては、言語検出サービスが .h.gyp ファイルなどの特定のプログラミング言語に関連付けられたファイルを見つけたが、対応する実行可能コードがリポジトリに存在しない� �合です。 この問題を解決するには、init コマンドの --languages フラグを使用して、解析する言語を手動で定義できます。 詳しい情� �については、「CodeQLランナー を CI システ� で設定する」を参照してく� さい。

  2. コンパイル型言語を autobuild コマンドを使用せずに解析し、init ステップの後に自分でビルドステップを実行している。 ビルドが機能するには、CodeQLランナー がビルドのプロセスをモニターできるように環境をセットアップする必要があります。 init コマンドは、必要な環境をエクスポートする方法についての説明を生成するので、それをコピーしてinit コマンドの実行後にスクリプトを実行できます。

    • macOS および Linux:
      $ . codeql-runner/codeql-env.sh
    • Windows で、コマンドシェル (cmd) またはバッチファイル (.bat) を使用する� �合:
      > call codeql-runner\codeql-env.bat
    • Windows で、PowerShell を使用する� �合:
      > cat codeql-runner\codeql-env.sh | Invoke-Expression

    環境変数は、codeql-runner/codeql-env.json にも保存されています。 このファイルには、環境変数キーを値にマッピングする単一の JSON オブジェクトが含まれています。 init コマンドで生成されたスクリプトを実行できない� �合、JSON フォーマットのデータを代わりに使用できます。

    注釈:� init コマンドの--temp-dir フラグで一時ファイルのカスタ� ディレクトリを指定している� �合、codeql-env ファイルへのパスが異なることがあります。

  3. macOS でコンパイル型言語を autobuild コマンドを使用せずに解析し、init ステップの後に自分でビルドステップを実行している。 SIP (システ� 整合性保護) が有効になっている� �合、解析は失敗することがあります。OSX の最近のバージョンでは、SIP はデフォルトで有効になっています。 この問題を解決するには、ビルドコマンドの前に $CODEQL_RUNNER の環境変数を付けてく� さい。 たとえばビルドコマンドが cmd arg1 arg2 の� �合、$CODEQL_RUNNER cmd arg1 arg2 を実行します。

  4. コードがコンテナまたは別のマシンでビルドされている。 コンテナ化されたビルドを使用しているか、ビルドを別のマシンに委託している� �合は、必ず CodeQLランナー をコンテナまたはビルドタスクを実行するマシンで実行してく� さい。 詳しい情� �については、「コンテナで CodeQL コードスキャンを実行する」を参照してく� さい。